我正在尝试使用 cx_freeze 冻结使用 PySide 库的 Python 3.3 代码以及 Windows XP(x86,SP2/3)上的所有代码。
运行成功,python setup.py build
但可执行文件抛出ImportError
:
ImportError: DLL load failed: 此应用程序无法启动,因为应用程序配置不正确。重新安装 [...]
相同的构建在 Windows 7 x64 (SP1) 上运行得非常好。
我使用的版本如下:
- Python 3.3.0(v3.3.0:bd8afb90ebf2,2012 年 9 月 29 日,10:55:48)[MSC v.1600 32 位(英特尔)] 在 win32 上
- cx_Freeze-4.3.1.win32-py3.3
- PySide-1.1.2.win32-py3.3
两个 QT DLL 库都被复制到构建文件夹 ( QtCore.dll
, ),library-zip 在文件夹/模块QtGui.dll
中包含两个 .pyc 等效项。PySide
即使使用最简单的测试代码也会出现此问题(并且如果代码也在“实时”Python 安装上运行*):
from PySide import QtCore, QtGui
if __name__ == "__main__":
app = QtGui.QApplication("My Application")
win = QtGui.QMainWindow()
win.show()
app.exec_()
使用更新版本的 PySide 可能会解决问题,但由于PySide 1.2.0引入了cx-freeze的新问题(文件加载错误),我想知道是否有人设法在 Windows XP 上冻结了 PySide 包进货成功?
否则将不得不等到 PySide 1.2.1 发布并保持我对该版本的希望。
- 请参阅我的评论:我不确定这是否真的在我的测试过程中发生实际上是出于相同的原因或其他原因,例如导致冻结版本中问题的实际模块没有正确安装..