8

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_()) 

誰にもアイデアはありますか?

4

3 に答える 3

3

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

于 2011-12-18T00:20:17.200 に答える