pyinstaller无法看到configparser

时间:2018-04-02 17:47:48

标签: python python-3.x pyinstaller configparser

我在python应用程序中使用configparser

当我运行应用程序时

python main.py

它有效。但是,如果我使用pyinstall创建一个Windows exe,则exe失败并显示消息

no module named 'configparser'

然而,如屏幕截图所示,configparser确实存在

这里发生了什么?

注意,如果从目录

中删除__init__.py,我不会收到错误

enter image description here

[更多信息]

这似乎是一个'sys.path'问题。如果我将configparser.py复制到我的应用程序目录中,问题将转移到我正在调用的另一个模块

我应该更改我的pyinstaller spec文件吗?

# -*- 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)

2 个答案:

答案 0 :(得分:0)

通过从根目录

中删除__init__.py来解决此问题

答案 1 :(得分:0)

我也遇到了这个问题。就我而言,这是一个隐藏的导入,并使用--hidden-import选项进行了修复。

$ pyinstaller my_script.py --hidden-import=configparser