我正在尝试使用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_())
有人有什么想法吗?
对我来说很好(Windows 7x64bit,Python2.7x32bit),只需将QT目录添加到系统路径或使用
p
选项将其添加到命令行即可:如果从executible安装PyQt,它会自动为您执行所有这些操作:
http://sourceforge.net/projects/pyqt/files/
我在pyinstaller 3.4(python3.6,PyQt5)上也遇到了同样的问题,最后通过调整here和here中的解决方案使它工作起来。
方法总结如下:
1)运行“pip install pip==18.1”。使用18.1版是非常重要的,尽管也有更新的版本。在此过程之后,您可以通过“pip install pip--upgrade”来升级pip
2)安装pyinstaller开发版本:“pip Installhttps://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz”
3)正常运行pyinstaller
希望这有帮助!
1,Pyinstaller不会创建——一个甚至小于——onedir的文件。当您运行--onefile时,它只创建一个包装器,将dir中的所有内容提取到一个临时目录,然后运行它。
2、Pyinstaller不支持
import PyQt4.QtCore, PyQt4.QtGui
,根据here,只有from PyQt4 import QtCore, QtGui
支持。3,你的PyQt4版本是什么?GPL版本是来自Riverbank的安装程序吗?
4.你的步骤正确吗?e、 那么
Makespec.py
那么Build.py
?相关问题 更多 >
编程相关推荐