Ошибка PyInstaller с PyQt при попытке создания –onefile

Я пытаюсь скомпилировать программу PyQt с помощью PyInstaller 1.5. Обе следующие программы работают отлично для меня, когда я использую –onedir (по умолчанию), но это создает довольно большие программы. Я хочу использовать параметр -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_()) 

У кого-нибудь есть идеи?

2 Solutions collect form web for “Ошибка PyInstaller с PyQt при попытке создания –onefile”

1, Pyinstaller не создаст –onefile даже меньше, чем -oneir. Когда вы запускаете -onefile, он просто создает оболочку, которая извлекает все в каталоге в временный каталог и запускает его.

2, Pyinstaller не поддерживает import PyQt4.QtCore, PyQt4.QtGui и from PyQt4 import QtCore, QtGui – единственный поддерживаемый способ в соответствии с здесь .

3, Какова ваша версия PyQt4? Это версия GPL у установщика Riverbank?

4: Вы правильно выполнили шаги? например, Makespec.py затем Build.py ?

Работает отлично для меня (Windows 7x64bit, Python 2.7x32bit) просто добавьте каталог QT на ваш системный путь или добавьте его в командную строку p опцией p :

 PyInstaller -y -F --distpath="." -p "C:\Python27\Lib\site-packages\PyQt4" test.py 

Если вы установите PyQt из исполняемого файла, он сделает все это автоматически для вас:

http://sourceforge.net/projects/pyqt/files/

  • Перемещение по виджетам в макете PyQt
  • python: процесс завершен с кодом выхода 1 при использовании PyCharm и PyQt5
  • Отображение прогресса парсера XML python при загрузке огромного файла
  • Qt Designer UI (python) для JSON
  • PyQt Включить / отключить элементы в QComboBox
  • Получение виджетов макета в PyQT
  • PyQt5 не удалось импортировать QtGui
  • PyQt: новый API с Python 2
  • Python - лучший язык программирования в мире.