NASA、ILM、ディズニー、そしてハードウェアハッカーに使用されているPythonは、汎用性の高いプログラミング言語であり、初心者にとって理想的な選択肢です。「Hello World」を作成する場合でも、本格的なアプリケーションを作成する場合でも、Pythonはインタープリタと多数のサポートライブラリを必要とします。もし、これらすべてを単一の実行ファイルにまとめたGUIアプリケーションを作成できたらどうでしょうか?
このハウツーでは、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 を検索してコマンド プロンプトを開きます。
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 を検索してコマンド プロンプトを開きます。
2.プロンプトから auto-py-to-exe を実行します。
auto-py-to-exe
3. 「参照」をクリックして、サンプル Python ファイルに移動します。
4.アプリケーションが1つのファイルを使用するように設定します。これにより、アプリケーションとそれをサポートするPythonライブラリが1つの実行ファイルに圧縮されます。
5.アプリケーションをコンソールベースに設定します。これにより、コマンドプロンプトに出力されるエラーを確認できます。アプリケーションが正常に動作することを確認したら、ウィンドウベースに設定します。
6. 「アイコン」ドロップダウンをクリックし、アプリケーションのアイコンを選択します。これはオプションですが、アプリケーションのクオリティをさらに高めます。アイコンは.icoファイルでなければならず、ここでは64×64ピクセルの画像を使用しています。
7. 「詳細設定」をクリックし、「-name」の下に アプリケーションの名前を入力します。ここでは「App Launcher」を選択しました。
8.下にスクロールして「.PYを.EXEに変換」をクリックすると、処理が開始されます。処理には数分かかる場合があります。
9. 「出力フォルダーを開く」をクリックして、アプリケーションが含まれているフォルダーを開きます。
10.アイコンをダブルクリックしてアプリケーションを実行します。
Pythonのハウツー
- Windows 10と11にPythonをインストールする方法
- PythonでForループを使う方法
- Pythonで列挙する方法
- Pythonで実行可能なアプリケーションを作成する方法
- Pythonで画像から背景を削除する方法
- Python、HTML、ThonnyでWebアプリを作成する方法
- Raspberry Pi カメラモジュール 3 を Python コードで使う方法