私のシステム:
Windows 7、x64、Python 3.3.1、インストーラーを使用する PyQt4 4.10 (py3.3-Qt5.0.1-x64)、cx_freeze 4.3.1 (win-amd64-py3.3)
何がうまくいったか:
ターミナルで
..python33\lib\site-packages\cx_freeze\samples
フォルダー(およびそれぞれのサンプルフォルダー)に移動して実行しますpython setup.py build
これは次のように機能しました:
\simple
and\tkinter
(他の場所で間違っていないことを確認するため)
問題:
しかし、私の目標は、私の PyQt4 プロジェクトの実行可能ファイル/パッケージを取得することなので、
\PyQt4
例で同じことを試しました (ところで、PyQt4app.py は Python アプリケーションとして完全に動作します)。\PyQt4 >>> python setup.py build
最初は機能しません: 生成さPyQt4app.exe
れた結果を実行すると、エラーが発生し、不足しているパッケージ「re」が要求されますその後、ファイルに「re」を含めてい
setup.py
ます。(options = {"build_exe" : {"includes" : ["atexit", "re"]}}
)エラーをスローせずに .exe を生成するようになりましたが、この .exe を実行しても何も実行されず、黙ってしまうだけです...
cx_freeze は正しい依存関係を見つけたようです:
python33.dll
,Qt5Core.dll
,Qt5Gui.dll
, (とりわけ: sip, unicodedata など) が存在しますPyQt4.QtCore.pyd
。PyQt4.QtGui.pyd
ここにsetup.py
(変更なし、「re」が含まれ、コメントが削除されていることを除く)
import sys
from cx_Freeze import setup, Executable
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup(
name = "simple_PyQt4",
version = "0.1",
description = "Sample cx_Freeze PyQt4 script",
options = {"build_exe" : {"includes" : ["atexit", "re"]}},
executables = [Executable("PyQt4app.py", base = base)])
私が間違っている提案はありますか?どのような追加情報が役立ちますか?
- ところで。- docs.python.org/3/faqはpy2exeへのリンクです- しかし、py2exeは Python 3.x では動作しません!?
編集:base = None
バッチファイルを介して.exeを設定して実行することで、コンソール出力を取得できました。出力は次のとおりです: Failed to load platform plugin "windows". Available platforms are:
(出力の終わり - リストなどはありません)。
では、このプラグインをロードする場所と方法は?