I'm trying to compile a PyQt program using PyInstaller 1.5.我试图使用PyInstaller 1.5编译一个PyQt的程序。 Both of the following programs work fine for me when I use --onedir (the default), but this creates rather large programs.以下程序正常工作对我来说,当我使用 - onedir(默认值),但是这创造了相当大的程序。 I want to use the --onefile option, but when I run the created onefile app, I get the error:我想用 - onefile选项,但是当我运行创建的onefile应用程序,我得到的错误:

Traceback (most recent call last): File "", line 11, in File "pyinstaller/PyInstaller/loader/", line 468, in importHook raise ImportError("No module named %s" % fqname) ImportError: No module named PyQt4.QtCore

This error occurs for both this:发生此错误为:

import sys from PyQt4 import QtCore, QtGui app =QtGui.QApplication(sys.argv) window =QtGui.QMainWindow() window.setCentralWidget(QtGui.QLabel("Hello")) sys.exit(app.exec_())

and this:和这样的:

import sys import PyQt4.QtCore, PyQt4.QtGui app = PyQt4.QtGui.QApplication(sys.argv) window = PyQt4.QtGui.QMainWindow() window.setCentralWidget(PyQt4.QtGui.QLabel("Hello")) sys.exit(app.exec_())

Does anyone have any ideas?没有任何人有任何想法吗?

1, Pyinstaller won't create --onefile even smaller than --onedir. 1,Pyinstaller不会创造 - onefile甚至小于 - onedir。 When you run the --onefile, it just creates a wrapper that extract everything in the dir to a temporary directory and then run it.当您运行 - onefile,它只是创建一个包装在dir中提取的一切到一个临时目录,然后运行它。

2, Pyinstaller does not support import PyQt4.QtCore, PyQt4.QtGui , and from PyQt4 import QtCore, QtGui is the only supported way according to here . 2,Pyinstaller不支持import PyQt4.QtCore, PyQt4.QtGui , from PyQt4 import QtCore, QtGui是唯一支持的方法,根据这里

3, What's your PyQt4's version? 3,什么是您的的PyQt4的的版本吗? Is is the GPL version from Riverbank's installer?是GPL版本从河岸的安装程序中吗?

4, Did you follow the steps correctly? 4,你有没有按照正确的步骤? eg then ?如Makespec.py然后Build.py吗?