はじめに
今回は、Pythonの.pyファイルを.exeしアプリとして使う方法を解説します。
Pythonの導入が済んでおり、基本操作が行える事を前提で進めます。
↓前提知識はこちらをご覧ください↓
![](https://signyamo.blog/wp-content/uploads/2024/06/dc3ee87ef36f8aef46a0fe859f673171-6-320x180.jpg)
また、こちらで作ったプログラムをアプリ化します。
![](https://signyamo.blog/wp-content/uploads/2024/07/dc3ee87ef36f8aef46a0fe859f673171-4-320x180.jpg)
.pyファイルで動くか確認
プログラムが「.py」ファイルをクリックしたら動くか確認します。
動かなければ.exe化しても上手く動かないです。
![](https://signyamo.blog/wp-content/uploads/2024/07/add-02.jpg)
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
この「.py」ファイルを実行した時の挙動が…
.exe化した時の挙動になります。
こちらが用意したプログラムは「tkinter」を使ってます。
これは、Pythonの画面でF5キーを押すと動きます。
![](https://signyamo.blog/wp-content/uploads/2024/07/add-00-1.jpg)
↓このような感じで、画面が表示されて動きます。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-19-3.jpg)
しかし、「.py」をクリックすると何も起こりません。
そして、このまま.exe化すると同じ挙動で画面が表示さなくなります。
![](https://signyamo.blog/wp-content/uploads/2024/07/add-02.jpg)
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
より正確に言うと、一瞬だけ黒い画面(コンソール)が表示されて消えます。
tkinterの場合、プログラムに「.mainloop()」を入れると修正できます。
一番下に「root.mainloop()」を追記して保存。
![](https://signyamo.blog/wp-content/uploads/2024/07/add-01.jpg)
保存して「.py」ファイルを実行。
動作を確認。
![](https://signyamo.blog/wp-content/uploads/2024/07/add-02.jpg)
コンソールとtkinter画面が表示されれば成功です。
![](https://signyamo.blog/wp-content/uploads/2024/07/add-03.jpg)
以上で、プログラムを調整が完了です。
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
他のツールやライブラリーを使った場合も
Python画面ではなく「.py」ファイルで動くか確認。
もし動かなければ、動くように調整してから進めてください。
pyinstallerライブラリーの導入
.exeで書き出すには、専用のライブラリーが必要です。
今回は「pyinstaller」というライブラリーを使います。
こちらを導入するため、コマンドプロンプトを立ち上げ。
![](https://signyamo.blog/wp-content/uploads/2024/06/image-06-6.jpg)
下記のテキストを打ち込み。
Enterキーで実行。
こちらで動けば、そのまま進めます。
pip install pyinstaller
↓このような大量の文字が出れば、待ちます。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-08-6.jpg)
しばらく待つと「Succesfully」のような表示が出ます。
これが出れば、pyinstallerライブラリーの導入が成功です。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-09-6.jpg)
もし、エラーが出て動かなかった場合は…
pip installが動く設定が入ってないのが原因が考えられます。
【エラー文の例】
' python 'は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
こちらが出た場合は…
↓この記事を見ながら「pip install」が動くように調整してください。
![](https://signyamo.blog/wp-content/uploads/2024/07/dc3ee87ef36f8aef46a0fe859f673171-6-320x180.jpg)
以上が、pyinstallerライブラリーの導入方法です。
フォルダを読み込ませる
pyinstallerはコマンドプロンプトで動かすものになります。
こちらを動かすために…
コマンドプロンプトに.pyファイルがあるフォルダを読み込ませる必要があります。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-07-7.jpg)
「cd」系の操作をすると、コマンドプロンプトに読み込ませるフォルダを操作できます。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-01-8.jpg)
そしたら、現在コマンドプロンプトに表示されてるドライブと…
.pyファイルがあるドライブが一致してるかを確認。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-02-7.jpg)
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
上の図ではコマンドプロンプトが「C:」です。
そして.pyファイルがある場所が「D:」なので…
別ドライブにある = 一致してない事になります。
ドライブが一致してる場合の処理
コマンドプロンプトと.pyファイルがあるドライブが…
“一致してる場合” は「cd /」でドライブの開始位置に移動。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-03-8.jpg)
そして.pyファイルがあるフォルダのパスをコピー。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-06-7.jpg)
そして「.py」ファイルがあるファイルパスを打ち込めば、移動できます。
打ち込み方は下記の通り。
cd (ドライブ名):\(区切りを\で表示したファイルパス)
例:cd C:\AppData
すると.pyファイルがあるファイルに移動できます。
→ 表示されてる場所に変化が生じれば、成功です。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-04-8.jpg)
ドライブが一致してない場合の処理
コマンドプロンプトと.pyファイルがあるドライブが…
“一致してない場合” は「cd /d (任意ドライブ名:)」でドライブを移動。
【入力の例】
cd /d D:
これで、D:ドライブに移動できます。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-05-9.jpg)
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
Aや、Bや、Xドライブを使ってる方は…
「A:」 「B:」 「X:」のように打ち込んでください。
そして.pyファイルがあるフォルダのパスをコピー。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-06-7.jpg)
こちらを、下記の通り打ち込み。
cd (ドライブ名):\(区切りを\で表示したファイルパス)
例:cd D:\test
これで.pyファイルがあるフォルダを指定できます。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-07-7.jpg)
これで、コマンドプロンプトにフォルダを読み込ませる処理が完了です。
.pyファイルを指定して.exe化
フォルダを読み込ませる事ができましたら…
.pyファイルを指定してpyinstallerを実行します。
これで.exeファイルを作ることができます。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-16-5.jpg)
まず「pyinstaller 」と打ち込み。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-08-7.jpg)
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
これで、指定した.pyファイルに
pyinstallerの処理を実行できます。
=.exe化できます。
そしたら.exe化したい.pyファイルの名前を “.py” 付きでコピー。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-09-7.jpg)
そして「pyinstaller ファイル名.py」と打ち込み。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-10-6.jpg)
「pyinstaller」と「ファイル名.py」の間に半角スペースを入れてください。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-11-5.jpg)
そして、実行ファイルを1つにまとめるための処理を入れます。
「半角スペース」+「–onefile」の一文を追加。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-12-6.jpg)
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
これで「.exe」のファイルが生成されます。
次に、実行時にコンソールが表示されないようにします。
「半角スペース」+「–noconsole」を追加。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-13-5.jpg)
↓これで.pyファイルを実行時に生成された、黒い画面が表示されなくなります。
![](https://signyamo.blog/wp-content/uploads/2024/07/add-03.jpg)
そしたら、Enterキーで実行。
しばらく待つと「successfully」と表示されます。
そして、元のファイルパスが表示されれば成功です。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-14-5.jpg)
これで元々の.pyファイルがある場所に、追加でフォルダが生成されます。
こちらの「dist」ファイルを開きます。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-15-5.jpg)
すると.exeファイルが生成されてます。
こちらを実行すると、プログラムが実行されます。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-16-5.jpg)
ファイル読み込みなどで動作を確認。
無事、動いてます。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-17-5.jpg)
これで.pyファイルを指定して.exe化する処理が完了です。
アイコンを変える
pyinstallerはアイコンを変える事もできます。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-40-4.jpg)
まず、アイコン用の画像を用意します。
画像は「.ico」形式で用意する必要があります。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-25-5.jpg)
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
あと、ファイル名はアルファベットを使った方が良いです。
(日本語名などの特殊文字はエラーが出る可能性があります)
まず.png形式でアイコンにしたい画像を用意します。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-39-4.jpg)
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
画像は「Krita」や「Affinity Photo」などを使って作ってください。
この画像をWEBの「icon_converter」などに読み込ませます。
すると「.ico」形式の画像に変換できます。(最大サイズ128 x 128px)
![](https://signyamo.blog/wp-content/uploads/cocoon-resources/blog-card-cache/f7e253786751adf081a766c1f9d8ec20.png)
セキュリティ上の理由でローカル環境で.icoに変換したい方。
128 x 128px以上の大きさで保存したい方は「Krita」を使う事をおすすめします。
↓使い方はこちらで解説。
![](https://signyamo.blog/wp-content/uploads/2024/07/dcb87e9a4eaca4a79b3123f932d472b4-1-320x180.jpg)
.icoファイルが用意できましたら.pyファイルがあるフォルダと同じ位置に入れます。
そして下記の処理を行います。
・すでにpyinstallerを実行して生成されたファイルがある場合はすべて削除
・.pyファイルの名前に「 _ 」がある場合は名前を変更
このアイコン画像設定は.pyファイルの名前に「 _ 」があると正しく動作しません。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-33-4.jpg)
なので、名前を「 _ 」が無いモノに変更。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-34-4.jpg)
そして、コマンドプロンプトに「 _ 」が無い.pyファイル名を打ち込み。
さらに「–icon=ファイル名.ico」を入力。
この状態で実行。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-38-4.jpg)
これで.exeのアイコン画像を差し替える事ができます。
…ただし、謎の余白が生成されました。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-36-4.jpg)
こちらは、何故かPCを落としてから半日後、再起動したら治りました。
![](https://signyamo.blog/wp-content/uploads/2024/07/image-37-4.jpg)
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
たぶん、キャッシュ系の何かが悪さをしたと思います。
もし、この方法でアイコンが変わらない場合は…
↓こちらの対処法を1つ1つ試してください。
![](https://signyamo.blog/wp-content/uploads/2024/07/cf2ee8d51d19c67b405fc570825d6179-1-320x180.jpg)
以上が、アイコンを変える方法です。
まとめ
今回は、Pythonで作った.pyファイルを.exeしアプリとして使う方法を紹介しました。
・まず.pyファイルをクリックして処理が動くかが確認
・.pyファイルの.exe化は「pyinstaller」などを使えばできる
・pyinstallerはコマンドプロンプトで導入&操作する
・コマンドプロンプトで.pyファイルがある場所に移動
・コマンドプロンプトに「pyinstaller .py –追加情報」を打ち込むと動作する
・.icoファイルを用意すれば、アイコンの差し替えも可能
・アイコンを差し替える場合.pyのファイル名に「 _ 」があると正しく動かないので注意
また、他にもPythonやプログラムについて解説してます。
![](https://signyamo.blog/wp-content/uploads/2024/06/dc3ee87ef36f8aef46a0fe859f673171-8-320x180.jpg)
![](https://signyamo.blog/wp-content/uploads/2024/06/dc3ee87ef36f8aef46a0fe859f673171-7-320x180.jpg)
![](https://signyamo.blog/wp-content/uploads/2024/07/dc3ee87ef36f8aef46a0fe859f673171-2-320x180.jpg)
ぜひ、こちらもご覧ください。
コメント