我正在尝试使用PyInstaller 1.5编译PyQt程序。当我使用– onedir(默认设置)时,以下两个程序对我来说都工作正常,但这会创建相当大的程序。我想使用– onefile选项,但是在运行创建的onefile应用程序时,出现错误消息:
Traceback (most recent call last): File "<string>", line 11, in <module> File "pyinstaller/PyInstaller/loader/iu.py", line 468, in importHook raise ImportError("No module named %s" % fqname) ImportError: No module named PyQt4.QtCore
这两个都发生此错误:
import sys from PyQt4 import QtCore, QtGui app =QtGui.QApplication(sys.argv) window =QtGui.QMainWindow() window.setCentralWidget(QtGui.QLabel("Hello")) window.show() sys.exit(app.exec_())
和这个:
import sys import PyQt4.QtCore, PyQt4.QtGui app = PyQt4.QtGui.QApplication(sys.argv) window = PyQt4.QtGui.QMainWindow() window.setCentralWidget(PyQt4.QtGui.QLabel("Hello")) window.show() sys.exit(app.exec_())
有人有什么想法吗?
1,Pyinstaller不会创建比–onedir小的–onefile。运行– onefile时,它只是创建一个包装程序,将目录中的所有内容提取到一个临时目录中,然后运行它。
2,Pyinstaller不支持import PyQt4.QtCore, PyQt4.QtGui,并且from PyQt4 import QtCore, QtGui是根据唯一支持的方式在这里。
import PyQt4.QtCore, PyQt4.QtGui
from PyQt4 import QtCore, QtGui
3,您的PyQt4是什么版本?是Riverbank安装程序的GPL版本吗?
4,您是否正确按照步骤进行?例如,Makespec.py然后Build.py?
Makespec.py
Build.py