python - 从我的脚本创建 pyinstaller,结果中缺少 PySide2.QtXml
问题描述
我所做的是打电话
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
所以这里有两个问题:
我在 python 安装中找不到名为“PySide2.QtXml”的库。所以我假设 .dll 有不同的名称?.dll 的真实名称是什么?我找到了 Qt5Xml.dll,但我不知道这是否是正确的库。
一旦我有了我的库,我想将它添加到我的 example.spec 文件中。文档说它必须看起来像这样:
binaries=[ ( '/usr/lib/libiodbc.2.dylib', 'libiodbc.dylib' ) ],
但我不确定如何将其应用于我目前缺少的库。我假设
binaries=[ ( 'C:\somepath\Qt5Xml.dll', 'Qt5Xml.dll' ) ],
将是要走的路吗?
提前致谢!
解决方案
我遇到了同样的问题,它看起来像是一个隐藏的导入,您可以将其添加到您的规范文件或命令行中:
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)
推荐阅读
- python - 如何直接写入 excel 文件,是否有更好的方法来获取下一个可用行?
- java - Mysql插入重复键更新需要很长时间
- spring-boot - Spring Boot 微服务不适用于 Intelij IDEA
- r - 使用 r 合并和提取日期和时间
- android - Firebase Auth 有时无法在移动 Chrome 应用程序上呈现登录弹出窗口
- python - 我应该如何解决以下tensorflow包错误?
- android - DayLight 主题中的颜色是什么?
- java - 在这个问题中设置“临时”变量的目的是什么?
- scala - 为什么对不存在(未选择)的列进行过滤?
- javascript - 谁能告诉我当鼠标被按下时如何触发一个函数并继续直到它在 p5.js 中被释放