3

我尝试使用 pyinstaller 编译我的 python 工作,使用命令:

pyinstaller.py -F zchat_server.py

并收到错误消息:

F:\workplace\Python\network-study\zchat\dist>zchat_server.exe

Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "D:\pyinstaller-2.0\PyInstaller\loader\iu.py", line 386, in importHook
    mod = _self_doimport(nm, ctx, fqname)
  File "D:\pyinstaller-2.0\PyInstaller\loader\iu.py", line 480, in doimport
    exec co in mod.__dict__
  File "F:\workplace\Python\network-study\zchat\build\pyi.win32\zchat_server\out
00-PYZ.pyz\twisted", line 53, in <module>
  File "F:\workplace\Python\network-study\zchat\build\pyi.win32\zchat_server\out
00-PYZ.pyz\twisted", line 37, in _checkRequirements
ImportError: Twisted requires zope.interface 3.6.0 or later: no module named zop
e.interface.

我是新手,我编译了我的 zchat_view.py(使用 wxPython),它工作得很好。但是对于 Twisted,我很困惑。希望得到解决。

4

4 回答 4

4

我对此进行了一些研究——PyInstaller 和 Zope 似乎存在问题。

以下是一些参考链接:

问题查找模块 Zope

PyInstaller 找不到模块 Zope - 这个链接也提到了一个潜在的解决方案。

Pyinstaller 无法正确处理命名空间包,例如 zope.interface

希望这些可以帮助您确定 PyInstaller 中此错误的解决方法。

回答 Glyph 的查询 - 您可以通过编辑运行 PyInstaller 命令生成的规范文件来为 PyInstaller 定义其他依赖项

于 2013-08-16T18:21:57.763 回答
0

zope.interface是 Twisted 的依赖项。pyinstaller 在您需要声明该依赖项的地方是否有配置文件?

于 2013-08-16T18:01:36.787 回答
0

我认为包python-zope-in​​terface可能对你有帮助:

yum install python-zope-interface

如果显示:

Package python-zope-interface-4.0.5-1.fc19.x86_64 already installed
and latest version

跑:

yum erase python-zope-interface
yum install python-zope-interface

我试过了,它奏效了!

于 2013-10-28T09:03:48.587 回答
0

我已将 --hidden-import=twisted 添加到 pyinstaller 命令中,并且一切正常。

pyinstaller --hidden-import=twisted
于 2017-09-01T14:47:42.480 回答