导入使用 PyInstaller 点引用的本地模块

Mic*_*yre 5 python pyinstaller python-3.x

我有一个正在处理的 python 脚本,我正在使用 pyinstaller 打包成一个可执行文件。

在脚本中,当它未编译时,我引用了位于主脚本旁边文件夹中的一组工具,如下所示:

\parent
    ----->\tools\
       ------>db.py
       ------>file_utils.py
main.py
Run Code Online (Sandbox Code Playgroud)

我省略了 init,但它也在那里。在我的脚本中,我正在导入这些文件,例如

import tools.db
import tools.file_utils
Run Code Online (Sandbox Code Playgroud)

所有这些工作正常。当我使用 PyInstaller 将它打包为可执行文件时,我收到一个模块未找到工具错误。我已经尝试添加工具的绝对路径,将工具和相关文件添加到隐藏的导入,以及所有这些,但我有一种感觉,这是我在脚本中调用它们的方式。

我想所有这些帮助程序脚本都可以位于脚本旁边的父目录中,或者我可以将工具添加到 sys.path 并直接导入 db 和 fileutils,但这似乎有点笨拙和/或混乱。有什么明显的我失踪了吗?

Hia*_*ore 0

尝试:

from tools import db
from tools import file_utils
Run Code Online (Sandbox Code Playgroud)