14
Pythonで実行可能なアプリケーションを作成する方法

NASA、ILM、ディズニー、そしてハードウェアハッカーに使用されているPythonは、汎用性の高いプログラミング言語であり、初心者にとって理想的な選択肢です。「Hello World」を作成する場合でも、本格的なアプリケーションを作成する場合でも、Pythonはインタープリタと多数のサポートライブラリを必要とします。もし、これらすべてを単一の実行ファイルにまとめたGUIアプリケーションを作成できたらどうでしょうか?

Executable Applications in Python

(画像提供:Tom's Hardware)

このハウツーでは、EasyGUI を使って GUI Python アプリケーションを作成し、auto-py-to-exe を使って、Python がインストールされていないシステムも含め、あらゆる Microsoft Windows システムで実行可能なスタンドアロンアプリケーションを作成します。Linux および Mac ユーザーは、基盤となる PyInstaller コマンドラインツールを使用する必要があります。シンプルなアプリは 1 行の命令で作成できます。引数を追加することで、アイコンやパッケージ化されたライブラリなどを追加できます。

たとえば、app.py をプロジェクト コードとして使用して 1 ファイル アプリケーションを作成するコードを次に示します。

pyinstaller --onefile app.py

auto-py-to-exe が他と異なるのは、GUI ツールを使用してアプリケーションを作成するより簡単な方法を備えている点です。

auto-py-to-exe のインストール方法

1. CMD を検索してコマンド プロンプトを開きます。

Executable Applications in Python

(画像提供:Tom's Hardware)

2. Python パッケージ マネージャー pip を使用して auto-py-to-exe をインストールします。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

pip install auto-py-to-exe

テストスクリプトを作成する

サンプルアプリケーションは、3つのアプリケーションのいずれかを起動するためのシンプルなGUIです。GUIアプリケーション作成の複雑さを抽象化するEasyGUI Pythonライブラリを使用しています。必要なのは、アプリケーションを駆動するロジックだけです。

1. Windows アイコンを右クリックし、「PowerShell」を選択して PowerShell を開きます。

2. pip を使用して EasyGUI をインストールします。

pip install easygui

3.テキストエディタを開いて、Pythonテストスクリプトを記述します。ここではNotepad++を使用していますが、お好みのエディタを自由にお使いください。

4. 2つのPythonモジュール、easyguiとosをインポートします。easyguiはGUIアプリケーションを作成し、OSはコードがオペレーティングシステムと対話できるようにします。

import easygui
import os

5. 2 つの変数を作成します。1 つはユーザーへのメッセージ (msg) 用、もう 1 つはアプリケーションのタイトルになります。

msg = "Load application..."
title="Tom's Hardware Application Starter"

6.リスト「choices」を作成し、その中にアプリケーション名となる3つの値を格納します。リストはPythonの配列です。複数の項目を格納できるオブジェクトです。各項目には0から始まる数値インデックスが付けられます。

choices = ["Google Chrome","Slack","PuTTY"]

7.ユーザーに質問するためのオブジェクトreplyを作成します。この場合、EasyGUI のボタンボックスを使用します。各ボタンは選択肢リストのオプションです。選択されたアプリケーションはreplyオブジェクトに保存されます。

reply = easygui.buttonbox(msg, title, choices=choices)

8.条件文を使用して、 replyに格納されている値を読み取り、3つの条件と比較します。最初の条件では、replyに「Google Chrome」が含まれているかどうかを確認し、含まれている場合は Google Chrome ブラウザを起動します。startfile関数では、アプリケーションへの完全なファイルパスを使用する必要があります。Python では \ が文字列に不正な文字を挿入するために使用されるため、パスには \\ を2つ使用する必要があります。

if reply == "Google Chrome": os.startfile("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe")

9.別の条件文を使用して、返信の Slack をチェックします。

elif reply == "Slack": os.startfile("C:\\Users\\lespo\\AppData\\Local\\slack\\slack.exe")

10. PuTTY をロードするための条件文を追加します。PuTTYは Windows パスに登録されたアプリであるため、os.system関数を使用することに注意してください。

elif reply == "PuTTY": os.system("putty")

11.他の入力をキャッチするために、else条件を使用して条件テストを閉じます。

else: print("Done")

12.ファイルをapp.pyとしてデスクトップに保存します。アプリケーションで画像を使用している場合は、画像もデスクトップに保存されていることを確認してください。

完全なサンプルコードリスト

import easygui
import os
msg = "Load application..."
title="Tom's Hardware Application Starter"
choices = ["Google Chrome","Slack","PuTTY"]
reply = easygui.buttonbox(msg, title , choices=choices)
if reply == "Google Chrome": os.startfile("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe")
elif reply == "Slack": os.startfile("C:\\Users\\lespo\\AppData\\Local\\slack\\slack.exe")
elif reply == "PuTTY": os.system("putty")
else: print("Done")

auto-py-to-exe の使用

 1. CMD を検索してコマンド プロンプトを開きます。

Executable Applications in Python

(画像提供:Tom's Hardware)

2.プロンプトから auto-py-to-exe を実行します。

auto-py-to-exe

Executable Applications in Python

(画像提供:Tom's Hardware)

3. 「参照」をクリックしてサンプル Python ファイルに移動します。

Executable Applications in Python

(画像提供:Tom's Hardware)

4.アプリケーションが1つのファイルを使用するように設定します。これにより、アプリケーションとそれをサポートするPythonライブラリが1つの実行ファイルに圧縮されます。

Executable Applications in Python

(画像提供:Tom's Hardware)

5.アプリケーションをコンソールベースに設定します。これにより、コマンドプロンプトに出力されるエラーを確認できます。アプリケーションが正常に動作することを確認したら、ウィンドウベースに設定します。

Executable Applications in Python

(画像提供:Tom's Hardware)

6. 「アイコン」ドロップダウンをクリックしアプリケーションのアイコンを選択します。これはオプションですが、アプリケーションのクオリティをさらに高めます。アイコンは.icoファイルでなければならず、ここでは64×64ピクセルの画像を使用しています。

Executable Applications in Python

(画像提供:Tom's Hardware)

7. 「詳細設定」をクリックし「-name」の下に アプリケーションの名前を入力します。ここでは「App Launcher」を選択しました。

Executable Applications in Python

(画像提供:Tom's Hardware)

8.下にスクロールして「.PYを.EXEに変換」をクリックすると、処理が開始されます。処理には数分かかる場合があります。

Executable Applications in Python

(画像提供:Tom's Hardware)

9. 「出力フォルダーを開く」をクリックして、アプリケーションが含まれているフォルダーを開きます。

Executable Applications in Python

(画像提供:Tom's Hardware)

10.アイコンをダブルクリックしてアプリケーションを実行します。

Pythonのハウツー

  • Windows 10と11にPythonをインストールする方法
  • PythonでForループを使う方法
  • Pythonで列挙する方法
  • Pythonで実行可能なアプリケーションを作成する方法
  • Pythonで画像から背景を削除する方法
  • Python、HTML、ThonnyでWebアプリを作成する方法
  • Raspberry Pi カメラモジュール 3 を Python コードで使う方法