我在 python 应用程序中使用 configparser
当我运行应用程序时
python main.py
有用。但是,如果我使用 pyinstall 创建 Windows exe,该 exe 将失败并显示消息
no module named 'configparser'
但是正如屏幕截图所示,configparser 确实存在
这里发生了什么?
注意,如果我从目录中删除 __init__.py,我不会收到错误消息
[更多信息]
这似乎是一个“sys.path”问题。如果我将 configparser.py 复制到我的应用程序目录中,问题就会转移到我正在调用的另一个模块上
我应该更改我的 pyinstaller 规范文件吗?
# -*- mode: python -*-
a = Analysis(['main.py'],
hiddenimports=[],
hookspath=None,
runtime_hooks=None)
a.datas = list({tuple(map(str.upper, t)) for t in a.datas})
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='test_imports.exe',
debug=False,
strip=None,
upx=True,
console=True)
最佳答案
我也有这个问题。就我而言,这是一个隐藏的导入,并使用 --hidden-import 选项进行了修复。$ pyinstaller my_script.py --hidden-import=configparser
关于python - pyinstaller 看不到 configparser,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49616095/