私はPyQtをいじり始め、pyqtホワイトペーパーサンプルアプリから「美しい」スクリプトを作成しました( Pastebin )
WindowsとLinuxで完全に動作します(qt環境は両方に既にインストールされています)。
今、私の質問は次のとおりです:コンパイルされているため(少なくとも純粋な古いC++ベースのQt)Qtを使用しようとしているので、Windowsで実行するためにいくつかの.exeファイル、またはLinuxのスタンドアロン実行可能ファイルをどのようにコンパイルできますか?.
要点は、ソースから解釈するのではなく、速度と移植性のためにプログラムをコンパイルしたいということです。これは、任意のマシンで以前のセットアップを必要とします。たとえば、目標の1つは、プログラマーではない同僚に小さなGUIスクリプトを電子メールで送信することです。
1つのスタンドアロン実行可能ファイルを完全に作成する場合は、これを試してください: http://www.pyinstaller.org/ 私の経験では、cx_freezeやpy2exeよりも1つのスタンドアロン実行可能ファイルを作成する方が良いと感じています。使いやすい(完全なドキュメントはサイトで入手可能)。
更新:@SoursopTreeと@LectureMakerからの最新情報として、pythonバージョン3.3-3.6をサポートするようになりました。
更新:pass-onefile引数を完全にスタンドアロンの.exeを作成する場合。例では:
pyinstaller.exe --onefile --windowed app.py
更新:ライブラリの作成者がクロスプラットフォームのデスクトップアプリを作成できると主張している別の興味深いライブラリ。試す価値はあります https://build-system.fman.io/
これに何週間も費やし、すべての代替手段(PyInstaller、py2exe、cx_freeze、...)を試した後、独自のライブラリを作成しました: https://build-system.fman.io/ 。 PyInstallerに基づいていますが、多くの共通の問題点を解決します。また、Windows、Mac、Linuxでネイティブインストーラーを作成できます。
コンパイルされているためQtを使用しようとしているので
Pythonを使用して、この利点を無効にします。他の回答では、ユーザーにインストールを要求せずにPythonコードを配布するためのオプションを紹介しています。Python自分自身、Pythonインタープリター言語を目的としているため、これらの各オプションには欠点があります(例:速度、プログラムサイズ、互換性など)。
他の2つのオプションは次のとおりです。
私はpyinstallerを使用しています
pip install pyinstaller
知りませんが、pyinstallerはsip.pydを追加しません。したがって、PyQt5\sip.pydが必要です。 Nice windows style qwindowvistastyle.dllをお勧めします。
build.cmdとしてファイルを作成:
pyinstaller --onefile --clean ^
--add-binary="C:\Users\Quazer\.virtualenv\pyqt5-36\Lib\site-packages\PyQt5\sip.pyd;PyQt5" ^
--add-binary="C:\Users\Quazer\.virtualenv\pyqt5-36\Lib\site-packages\PyQt5\Qt\plugins\styles\qwindowsvistastyle.dll;PyQt5\Qt\plugins\styles" ^
.\main.py
^
-コマンドファイルの新しい行(.cmd、.bat)
Py2EXEという名前のモジュールがあり、これはあなたがやりたいことを正確に行います。スクリプトを.exeファイルに変換して、Windowsで実行します。 Linuxについてはわかりませんが、どこかにモジュールがあると思います。 py2exe.com