【问题标题】:pySide: ExtensionLoader_Pyside_QtGUI.py specified module could not be foundpySide: ExtensionLoader_Pyside_QtGUI.py 找不到指定的模块
【发布时间】:2013-08-02 22:59:15
【问题描述】:

我正在使用 CXFreeze 和 PySide (QT)。我收到一个错误: cx_Freeze:主脚本中的 Python 错误。 myscript.py 第 33 行,在 文件 ExtensionLoader_Pyside_QtGUI.py,第 11 行,在 导入错误:DLL 加载失败:找不到指定的模块

运行全新安装的 Windows Server 2008 时。 我正在运行冻结的 EXE 包(带有文件夹)。它似乎适用于我自己的系统和其他系统。可能是什么问题?

在线阅读后,我尝试替换Qt4Gui文件,但这并没有解决问题。

Python 版本是 2.7

【问题讨论】:

    标签: python qt pyside cx-freeze


    【解决方案1】:

    根据您的Import Error: DLL load failed,很可能是安装问题导致缺少 DLL。要准确确定您缺少哪个 DLL,请使用 http://www.dependencywalker.com/ 运行 .exe 并打开 File ExtensionLoader_Pyside_QtGUI.py 的 .pyd 文件,它会准确显示缺少哪些 DLL,更重要的是它们应该在的位置。然后您可能可以在线查找丢失的 DLL。

    【讨论】:

    • 谢谢,虽然可能不是第一名,但这是一个很好的了解工具!
    【解决方案2】:

    pyside 1.2.0 和 cxFreeze 存在已知问题。所有都应该在开发版本中修复(在 git repo 上可用)。请自行从最新源构建 PySide 或等待 PySide 版本 1.2.1。构建说明在这里 [1]。

    [1]https://github.com/PySide/pyside-setup#building-pyside-on-a-windows-system

    【讨论】:

    • 这是使用 PySide 1.1.2。这是一个很好的提示,但它并不适用。
    【解决方案3】:

    我使用 Py2exe 而不是 CXFreeze,它运行良好。

    另外,显然 Python 需要 MS Visual C++ 依赖文件: http://www.microsoft.com/en-us/download/details.aspx?id=29 因此,如果是全新安装,任何捆绑也需要它。 (尽管我认为它们现在与较新的 Windows 版本捆绑在一起。)

    其他说明: 根据我的经验,有时您应该快速尝试 CXFreeze、Py2EXE 和 PyInstaller,看看是否有一个效果最好。像 CXFreeze 一样理想的是:跨平台,但它不会完美地发生。

    另外,虽然我不知道这是否是一个因素,但我设置了一个 Windows 2000 Pro 虚拟机并在其上运行 Py2exe。这是为了确保所有旧 Windows 版本的兼容性,并且似乎运行良好。 (注意:很多东西甚至不再在 Win2000 上运行,所以要小心你的其他工具和库会在上面运行。)

    最后,要格外小心地匹配所有库的位级别(32 与 64)以及 Python 安装本身。如果您有 32 位 python,请确保您的 PySide、CXFreeze 和您使用的任何其他库都是 32 位的。 (如果您使用的是 64 位 python,则为 64 位。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      • 2011-01-05
      • 2021-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多