我构建了一个代码,然后使用py2exe从.py创建了一个exe。
现在我想创建一个相同的自我,所以我使用Iexpress来做到这一点。我能够从Iexpress创建exe,但是当我尝试从exe创建中提取我的应用程序时,我得到以下错误:
Traceback (most recent call last):
File "C.py", line 44, in <module>
File "A.pyc", line 4, in <module>
File "PyQt4\QtGui.pyc", line 12, in <module>
File "PyQt4\QtGui.pyc", line 10, in __load
ImportError: DLL load failed: The specified module could not be found.
看来,错误全部排成一行:
from PyQt4 import QtCore, QtGui
我在互联网上看到了一些修复此问题的方法,但无法解决这个问题。有人有什么想法吗?
答案 0 :(得分:0)
我试图在这里重现这一点,但似乎工作正常。这是我做的:
使用此问题创建了一个文件hello-pyqt.py
:
How to implement a simple button in PyQt
创建了setup.py
:
from distutils.core import setup
import py2exe
setup(console=['hello-pyqt.py'],
options={'py2exe': {'bundle_files': 1,
'dll_excludes': ['w9xpopen.exe', 'MSVCP90.dll'],
'includes': ['sip']}}
)
dll_excludes
和includes
技巧分别来自py2exe fails to generate an executable和Py2exeAndPyQt page的答案。
已执行setup.py
:
python setup.py py2exe
在使用IExpress之前测试输出:
dist\hello-pyqt.exe
以常规方式将其与IExpress捆绑在一起:
hello-pyqt.exe
和library.zip
。hello-pyqt.exe
。将您的流程与我正在使用的流程(上图)进行比较,看看是否有任何可能有用的方法。如果做不到这一点,我会使用Process Monitor来查看哪些DLL无法加载以及它正在查找的位置。
我library.zip
中捆绑的DLL包括:QtCore4.dll
和QtGui4.dll
。您可能需要检查library.zip
以确保这些文件存在。