小编典典

尝试构建--onefile时,PyQt出现PyInstaller错误

python

我正在尝试使用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_())

有人有什么想法吗?


阅读 107

收藏
2020-12-20

共1个答案

小编典典

1,Pyinstaller不会创建比–onedir小的–onefile。运行–
onefile时,它只是创建一个包装程序,将目录中的所有内容提取到一个临时目录中,然后运行它。

2,Pyinstaller不支持import PyQt4.QtCore, PyQt4.QtGui,并且from PyQt4 import QtCore, QtGui是根据唯一支持的方式在这里

3,您的PyQt4是什么版本?是Riverbank安装程序的GPL版本吗?

4,您是否正确按照步骤进行?例如,Makespec.py然后Build.py

2020-12-20