【发布时间】:2013-07-31 03:47:31
【问题描述】:
我正在尝试使用 cx_freeze 冻结使用 PySide 库的 Python 3.3 代码以及 Windows XP(x86、SP2/3)上的所有代码。
python setup.py build 运行成功,但可执行文件抛出 ImportError:
ImportError: DLL load failed: 此应用程序无法启动,因为应用程序配置不正确。重新安装 [...]
相同的构建在 Windows 7 x64 (SP1) 上运行良好。
我使用的版本如下:
- Win32 上的 Python 3.3.0(v3.3.0:bd8afb90ebf2,2012 年 9 月 29 日,10:55:48)[MSC v.1600 32 位(英特尔)]
- cx_Freeze-4.3.1.win32-py3.3
- PySide-1.1.2.win32-py3.3
两个 QT DLL 库都被复制到构建文件夹(QtCore.dll、QtGui.dll),library-zip 在PySide 文件夹/模块中包含两个 .pyc 等效项。
即使使用最简单的测试代码也会出现此问题(并且如果代码也在“实时”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 发布并保持我对该版本的希望。
- 查看我的评论:我不确定这是否真的在我的测试过程中发生,实际上是出于相同的原因还是其他原因,例如。导致冻结版本中问题的实际模块没有正确安装..
【问题讨论】:
-
您说当代码在实时 Python 安装上运行时会出现问题?所以这不是特定于冻结的应用程序?
-
是的,这就是我所说的,但是当我在不同平台上进行测试时,这肯定是在激烈的战斗中发生的,而实际安装的模块(最终成为罪魁祸首)可能没有正确安装。我没有再次重构场景来证明相反的情况,但这是我的理论。我会把它放在大括号中以避免混淆,谢谢。
标签: python pyside python-3.3 cx-freeze