問題py2exeとPyQtはスクリプトを構築している間(QtCore)
質問
私はPyQtはを使用して、Windowsでの単純なハローワールド実行可能なPythonのGUIアプリを作るしようとしています。だから私はpyqt.py
ファイルを作りました。
import sys
from PyQt4.QtGui import *
app = QApplication(sys.argv)
button = QPushButton("Hello World", None)
button.show()
app.exec_()
私は、次のsetup.py
スクリプトでpy2exe使用しようとしました。
from py2exe.build_exe import py2exe
from distutils.core import setup
setup( console=[{"script": "pyqt.py"}] )
(私は最初No module named sip
エラーがあったが、それはPy2exeAndPyQt
ページのおかげで解決しています)。
今、私が実行可能ファイルを持っていると私はそれを実行しようとすると、私は次のエラーを取得する:
Traceback (most recent call last):
File "pyqt.py", line 2, in <module>
File "PyQt4\QtGui.pyc", line 12, in <module>
File "PyQt4\QtGui.pyc", line 10, in __load
ImportError: No module named QtCore
どのように私はそれを修正することができますか? TIA
解決
あなたはこのような何かを行うことができ、あなたはインポート*を必要としません。
py2exe_opciones = {'py2exe': {"includes":["sip"]}}
script = [{"script":"pyqt.py"}]
setup(windows=script,options=py2exe_opciones)
そして今、プログラムが動作するはずます。私は、同じエラーが発生しました。
ここの続きを読むことができます。
他のヒント
pyqt.pyにfrom PyQt4.QtCore import *
を追加します。
...のように、py2exeのみのpythonの依存関係を自動検出...だから、それを手動でインポートする必要があります。
これは一例である
from setuptools import setup
import py2exe
from glob import glob
SETUP_DICT = {
'windows': [{
'script': 'main.py',
}],
'zipfile': 'lib/library.zip',
'data_files': (
('', glob(r'C:\Windows\SYSTEM32\msvcp100.dll')),
('', glob(r'C:\Windows\SYSTEM32\msvcr100.dll')),
),
'options': {
'py2exe': {
'bundle_files': 3,
'includes': ['sip', 'PyQt4.QtCore'],
},
}
}
setup(**SETUP_DICT)
所属していません StackOverflow