我一直在尝试使用cx_freeze一段时间,但总是会出现同样的错误
import cx_Freeze.util
ImportError: DLL load failed: %1 is not a valid win32 application
我尝试了32位和64位,并尝试过setup.py和cxfreeze.bat
我要问的是,我该如何使其发挥作用?
答案 0 :(得分:1)
我遇到了同样的问题,这是我的解决方案。
我使用Python 3.2 for Windows 64位,我的库安装全部为64位,包括cx_freeze。当我试图“冻结”导入PyQt4包的程序时,我得到了错误:
ImportError: DLL load failed: %1 is not a valid win32 application
就我而言,问题是cxfreeze脚本是从我的MATLAB安装中复制两个DLL文件(QtCore4.dll和QtGui4.dll),而不是从我的Python安装中复制。 MATLAB DLL是32位,而Python DLL是所需的64位文件。
阅读运行cxfreeze脚本以显示exe文件时显示的消息。最后几条消息应该是“复制... dll-> .... dll”。检查文件名,确保所有文件实际上都是从Python安装中复制的,而不是其他程序。
如果从其他地方复制它们(如我的情况),您可以在构建后将它们复制到自己身上。否则,您将不得不改变您的路径,不要包含其所属程序中包含32位DLL的文件夹。