如何解决使用 cx_freeze 6.6 构建时,PySide2 不会导入
我有一个使用 cx_freeze 6.2 构建的程序。 它运行良好,直到我们添加了一个 GUI,然后在构建 EXE 后我们开始收到 ImportErrors。
...
File "C:\Users\Engineer\anaconda3\lib\site-packages\PySide2\__init__.py",line 88,in <module>
File "C:\Users\Engineer\anaconda3\lib\site-packages\PySide2\__init__.py",line 54,in _setupQtDirectories
File "C:\Users\Engineer\anaconda3\lib\site-packages\shiboken2\__init__.py",line 27,in <module>
ImportError: DLL load failed: The specified module could not be found.
...
我一直在寻找解决方案。不幸的是,我发现的唯一选项是“使用 Python 3.6 和 cx_freeze 5.1.1”,但这对我来说不是一个选择,因为我们有一个静态环境,并且需要付出很多努力才能获得更改 Python 版本的批准。 (较小的包裹可能有更多的运气)
我尝试了新版本的 cx_freeze (6.6),但仍然没有运气。
当前配置: 蟒蛇 3.7.6 PySide 5.15.0 shiboken2 5.15.0
有没有人能够找到解决方案,一些构建脚本黑客或不涉及重新安装不同版本的 Python 的东西?
解决方法
您缺少 shiboken2.pyd
中出现的 site-packages\shiboken2\shiboken2.pyd
文件,因为代码正在导入它:
shiboken2\__init__.py line 27:
from .shiboken2 import *
我对 cx_freeze
了解不多,但根据 their documentation,您
应该使用 --packages=shiboken2
之类的命令或其他命令来包含子模块吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。