技術・プログラミング]前回まで、QMLを使ったpythonアプリの作り方や、そのアプリにリソースファイルを埋め込む方法について解説してきました。pythonでGUIアプリを作る目的として「マルチプラットフォーム」で、一回、ソースを書けば、同じソースからWindows、Mac、Linuxにアプリを配布できることをメインにしていたので、いよいよ、最後の実行形式のファイルを作る工程になります。作成したアプリを配布する際に、使ってもらう人に、指定したバージョンのpythonをインストールしてもらって、pipでライブラリも用意してもらって。いちいちやってもらえないですよね。実行ファイル形式にすると、pythonの実行環境とライブラリをまとめることができるので、そんな準備をしてもらわなくても、作成したアプリをどこかのディレクトリに置くだけで実行してもらえます。・QMLやアイコンなどのファイルもリソースとしてpythonアプリの実行ファイル形式(exe化)に含める方法さて、実行ファイル形式を作るためもいくつか方法がありますが、それぞれ特徴があるので、どのように配布したいかによってどれを選ぶかも変わってくると思います。私がいくつか試したうちWindowsにもMacにも「使えるな」と思ったのは「pyinstaller」と「cx_Freeze」の2つでした。それぞれの特徴は以下のような感じです。pyinstaller・・・かなり活発に開発されている。シングル形式(一つのファイル)でも実行ファイル形式を作れるので、配布にも便利。作成したファイルを起動するのが少し遅い(10秒程度)。cx_Freeze・・・シングル形式の実行ファイル作成には対応していないのが残念。起動が速いexe、appを作れる点は良い。まとめpyinstallerでのexe化手順pyinstallerでexe化するには、まず、pipでpyinstallerをインストールします。--noconsoleと実行すればOKです。オプションの意味ですが、「–onefile」は1つの実行ファイル形式にまとめるオプション、「–noconsole」は、コンソールなしでアプリを立ち上げるオプションです。このオプションが無いと、アプリを起動したときにコマンドプロンプトも起動されます。このままエラーなく作成が進むと、\<プロジェクトフォルダ>\distに、「main.exe」ができます。main.spec」でもexeが作成できます。細かいオプションはこのファイルに指定するのもメンテしやすいと思います。Pythonのアプリをpython3.6で実行ファイル形式にすると、エラーが出てしまいました。ココで議論されていて、ココにパッチされたソースがありますので、これを使うと、エラーなく実行ファイル形式にできました。cx_Freezeでのexe化手順pyinstallerだとやっぱり起動時間がかかるのが気になる、、という場合は、cx_Freezeでexe化してもいいと思います。シングルファイルにはできませんが、UPXなどのexeファイルを実行可能な形式で圧縮するソフトを使うと、1ファイルで配布できます。圧縮されるので、実行時に解凍される分、若干時間がかかりますが気になるほどではありませんでした。上記のpyinstallerと比較してみると良いと思います。cx_Freezeのインストールにもpipを使います。cx_Freezeでインストールしたら、「setup.py」というファイルを作ります。CUIの場合はこのif文をコメントアウトしてください。"main.py"にはpygameを用いて作成したファイルの名前を入れてください。[exe])作成したら、以下のコマンドでexe化できます。buildまとめいかがでしたか?3回にわたってpythonで実用的なGUIアプリを作って配布する方法をご紹介してきました。pythonは人気の言語で、AIやVRなどのライブラリも豊富です。楽しくて役に立つアプリをたくさん作って広めてください!こんな記事も読まれていますコメントを残す返信をキャンセルする。Reserved.このページの先頭へ。