Python パッケージ化 exe ツールの経験

        ここ数日で機能開発がほぼ終わりました pythonのパッケージング後のプログラムの起動速度を改善したいのですが、起動が遅すぎて遅いと6秒、遅いと4秒かかるので高速ですが、いくつかの調査の後、この問題を解決するツールがないように思われることがわかりました. 本質は、現在のパッケージングプログラムは通常、python インタープリターをパッケージ化してから、プログラムが最終的に python によって解釈および実行されるということです.最初に python を開き、それを python で実行するのと同じです。 エントリ コード、このリンクは不可欠なので、言語を直接変更したい場合は、後でこの領域にエネルギーを投資しないかもしれません。

        解決策があるかどうかを確認するために、さらに 2 つのパッケージング ツールを試しました。と考えると、python を c に変換するような感じですが、残念ながら私のプロジェクトはうまくパッケージ化できず、時間がかかりすぎました。パッケージが成功したとしても、実行できるかどうかわからない、問題が発生した場合のトラブルシューティング方法がわからない. 要するに、このツールの互換性はあまり良くありません, 特にあなたのプログラムがサードパッケージをたくさん頼っているのですが、一番大事なことは、はい、簡単なpyqt5プログラムをパッケージ化したのですが、最終的な実行ファイルの起動速度があまり改善されなかったので、思い切って断念しました。

        2 番目のツールは cxfreeze です. このツールは比較的使いやすいです. インストールした後, 構成なしでプロジェクトを正常にパッケージ化しました. 唯一の問題は, パッケージが大きすぎて G があることです.仮想環境では、pyinstaller を使用して同じプロジェクトをパッケージ化しますが、200 M 以上しかありません。

        したがって、この 2 日間の試行錯誤の結果、pyinstaller が最も香りがよいと思います.仮想環境にある限り、パッケージング後に大きすぎることはありません.もちろん、これには、プロジェクトの依存関係について非常に明確にする必要があります. 、使用するもの、および最上位レイヤーのみ. パッケージは問題なく、最上位の依存関係は自動的にインストールされるため、それらを記録する必要はありません.

        もう 1 つの問題は、upx は圧縮ツールであるため、テスト後、pyqt5 プログラムをパッケージ化するときに upx を有効にしないことです.パッケージ化されたファイルは小さくなりますが、起動時に解凍する必要があるため、速度が低下します. .upx 圧縮を有効にしてからプロジェクトは約 100M 縮小されましたが、起動速度が大幅に遅くなったので、最終的にオフにしました。

        とりあえず速度の問題はこんな感じで、後で最適化したい場合はc#かcppに変えるしかありません。

Supongo que te gusta

Origin blog.csdn.net/zy1620454507/article/details/127924602
Recomendado
Clasificación