【问题标题】:PySide2 will not import when built with cx_freeze 6.6使用 cx_freeze 6.6 构建时,PySide2 不会导入
【发布时间】:2021-09-11 08:01:24
【问题描述】:

我有一个使用 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),但仍然没有成功。

当前配置: Python 3.7.6 PySide 5.15.0 shiboken2 5.15.0

有没有人能够找到解决方案,一些构建脚本黑客或不涉及重新安装不同版本的 Python 的东西?

【问题讨论】:

    标签: python cx-freeze pyside2 shiboken2


    【解决方案1】:

    当代码正在导入它时,您缺少出现在site-packages\shiboken2\shiboken2.pyd 中的shiboken2.pyd 文件:

    shiboken2\__init__.py line 27:
    from .shiboken2 import *
    

    我对@9​​87654325@ 了解不多,但根据their documentation,您
    应该使用--packages=shiboken2 之类的命令或其他命令来包含子模块?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2019-02-18
      • 1970-01-01
      相关资源
      最近更新 更多