pyinstaller 打包 PyCharm 项目的 ImportError

ImportError for pyinstaller-packed PyCharm project

问题: 我有一个使用 Anaconda 和 PyCharm 的 Python3 项目,它在 PyCharm.

中运行良好

使用 pyinstaller 构建可部署版本时,构建过程似乎正常,但生成的 .exe 文件崩溃并出现以下错误:

Traceback (most recent call last): File "code\main.py", line 10, in <module> ImportError: No module named 'code.libs'; 'code' is not a package

详情: main.py:10 个州 from code.libs.hugelib.important import ImportantClass

目录结构如下(所有init.py都是空的):

code/ __init__.py libs/ __init__.py hugelib/ __init__.py important.py whatever.py stuff.py main.py data/

我使用 code>pyinstaller main.spec 创建可执行文件 main.spec 已使用 --paths=libs --paths=code --paths=code/libs --hidden-import=code --hidden-import=code.libs

创建

问题: 为什么 'code' 没有被视为一个包,即使初始化文件在那里,为什么 PyCharm 执行一切都很好,而 pyinstaller 的捆绑版本不是?

问题是该模块被命名为 "code",这似乎是一个 python-内部 name/module 并且 pyinstaller 对此感到困惑