私はexeにコンパイルしたいかなりの「重い」Pythonプログラムを持っています。
プログラムにはかなりの量のインポートがありますが、PyQT4フレームワークを使用して、スプラッシュスクリーンが表示されている間にこれらのインポートをロードします。
pyinstaller(cmd内)を使用して、このプログラムを単一の.exeファイルにコンパイルします。
python %pycompile_file% --onefile --noconsole --icon=Icon.ico Script.pyw
ただし、かなりの量のモジュールがインポートされている間(特にsympyを含む)にスプラッシュスクリーンが表示されるように設定されていても、Pythonを実行すると即座に適切な時間枠で表示されますが、
生成された.exeを実行すると、スプラッシュスクリーンが表示されるまでに深刻な遅延が発生します。これは、プログラム全体が読み込まれる前のごく短時間しか表示されません。
私の疑惑は、.pywから.exeにコンパイルすると、実際の「コード」が高速化されますが(したがって、スプラッシュスクリーンが短くなる理由)、プログラムの実行の実際の「開始」が遅くなることです。
.exeが「それほど遅く起動しない」ようにこれを修正するにはどうすればよいですか?
(--onefileへのコンパイルが大きく貢献していると思いますが、.exeファイルをすべての.dllから1つ上のフォルダーにする必要があり、pyinstallerにこれを実行させる方法がわかりません)
ありがとう!
Windows 7
python 2.7.2
pyinstaller
PyQt4