我做的是致电
pyinstaller example.py
pyinstaller获取我脚本的所有重要库。我可能值得一提的是我正在使用Windows机器。但当我运行结果时,它告诉我:
λ .\example.exe
Traceback (most recent call last):
File "example.py", line 6, in <module>
File "c:\applications\anaconda\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module
module = loader.load_module(fullname)
ImportError: could not import module 'PySide2.QtXml'
[7684] Failed to execute script example
所以这里有两个问题:
我找不到名为&#34; PySide2.QtXml&#34;在我的python安装中。所以我假设.dll有不同的名字?实际上.dll的真实名称是什么?我找到了 Qt5Xml.dll ,但我无法判断这是否是正确的库。
我有了库后,我想将它添加到我的example.spec文件中。文档说它必须看起来像这样:
binaries=[ ( '/usr/lib/libiodbc.2.dylib', 'libiodbc.dylib' ) ],
但我不知道如何将其应用于我目前丢失的库。我假设
binaries=[ ( 'C:\somepath\Qt5Xml.dll', 'Qt5Xml.dll' ) ],
将是要走的路?
提前致谢!
答案 0 :(得分:1)
我遇到了同样的问题, 看起来这是一个隐藏的导入,您可以将其添加到您的规范文件中或在命令行上:
pyinstaller --hidden-import PySide2.QtXml example.py
规范文件:
a = Analysis(['start.py'],
pathex=['/some/path'],
binaries=[],
datas=[],
hiddenimports=['PySide2.QtXml'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)