【Python】.pyファイルを.exeに変換する方法【自作ソフト,デスクトップアプリ開発】

プログラム
スポンサーリンク

はじめに

今回は、Pythonの.pyファイルを.exeしアプリとして使う方法を解説します。

Pythonの導入が済んでおり、基本操作が行える事を前提で進めます。
↓前提知識はこちらをご覧ください↓

【Python】導入方法から基本操作について
Pythonは無料で使えるプログラミング言語でA「I開発や作業の自動化」に強いとされてます。導入は公式サイトからダウンロード。DLしたら「IDLE」を起動して動かします。2行以上のブログラムの場合は「.py」ファイルを作成する必要があります。

また、こちらで作ったプログラムをアプリ化します。

【Python】Wavの情報を一覧表示する方法【Bit深度,サンプリングレート】
.waveはPython標準搭載の「wave」モジュールで読み込めます。ファイル名やファイルパスは「Path.split()」で取得可能。waveモジュールは「チャンネル数、ビット深度、サンプリングレート」などを取得可能。こちらを解説。

.pyファイルで動くか確認

プログラムが「.py」ファイルをクリックしたら動くか確認します。
動かなければ.exe化しても上手く動かないです。

この「.py」ファイルを実行した時の挙動が…
.exe化した時の挙動になります。

こちらが用意したプログラムは「tkinter」を使ってます。
これは、Pythonの画面でF5キーを押すと動きます。

↓このような感じで、画面が表示されて動きます。

しかし、「.py」をクリックすると何も起こりません。
そして、このまま.exe化すると同じ挙動で画面が表示さなくなります。

より正確に言うと、一瞬だけ黒い画面(コンソール)が表示されて消えます。

tkinterの場合、プログラムに「.mainloop()」を入れると修正できます。
一番下に「root.mainloop()」を追記して保存。

保存して「.py」ファイルを実行。
動作を確認。

コンソールとtkinter画面が表示されれば成功です。

以上で、プログラムを調整が完了です。

他のツールやライブラリーを使った場合も
Python画面ではなく「.py」ファイルで動くか確認。

もし動かなければ、動くように調整してから進めてください。

pyinstallerライブラリーの導入

.exeで書き出すには、専用のライブラリーが必要です。
今回は「pyinstaller」というライブラリーを使います。
こちらを導入するため、コマンドプロンプトを立ち上げ。

下記のテキストを打ち込み。
Enterキーで実行。
こちらで動けば、そのまま進めます。

pip install pyinstaller

↓このような大量の文字が出れば、待ちます。

しばらく待つと「Succesfully」のような表示が出ます。
これが出れば、pyinstallerライブラリーの導入が成功です。

もし、エラーが出て動かなかった場合は…
pip installが動く設定が入ってないのが原因が考えられます。

【エラー文の例】

' python 'は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

こちらが出た場合は…
↓この記事を見ながら「pip install」が動くように調整してください。

【Python】pipを使ったライブラリーの導入方法【Install,pathを通す】
Pythonのライブラリーはpip installをコマンドプロンプトに打ち込んで読み込みます。この時コマンドプロンプトとPythonが同期してないと動きません。同期させるには環境変数を設定する必要があります(Pathを通す)。こちらを解説。

以上が、pyinstallerライブラリーの導入方法です。

フォルダを読み込ませる

pyinstallerはコマンドプロンプトで動かすものになります。
こちらを動かすために…
コマンドプロンプトに.pyファイルがあるフォルダを読み込ませる必要があります。

「cd」系の操作をすると、コマンドプロンプトに読み込ませるフォルダを操作できます。

そしたら、現在コマンドプロンプトに表示されてるドライブと…
.pyファイルがあるドライブが一致してるかを確認。

上の図ではコマンドプロンプトが「C:」です。
そして.pyファイルがある場所が「D:」なので…
別ドライブにある = 一致してない事になります。

ドライブが一致してる場合の処理

コマンドプロンプトと.pyファイルがあるドライブが…
“一致してる場合” は「cd /」でドライブの開始位置に移動。

そして.pyファイルがあるフォルダのパスをコピー。

そして「.py」ファイルがあるファイルパスを打ち込めば、移動できます。
打ち込み方は下記の通り。

cd (ドライブ名):\(区切りを\で表示したファイルパス)

例:cd C:\AppData

すると.pyファイルがあるファイルに移動できます。
表示されてる場所に変化が生じれば、成功です。

ドライブが一致してない場合の処理

コマンドプロンプトと.pyファイルがあるドライブが…
“一致してない場合” は「cd /d (任意ドライブ名:)」でドライブを移動。

【入力の例】

cd /d D:

これで、D:ドライブに移動できます。

Aや、Bや、Xドライブを使ってる方は…
「A:」 「B:」 「X:」のように打ち込んでください。

そして.pyファイルがあるフォルダのパスをコピー。

こちらを、下記の通り打ち込み。

cd (ドライブ名):\(区切りを\で表示したファイルパス)

例:cd D:\test

これで.pyファイルがあるフォルダを指定できます。

これで、コマンドプロンプトにフォルダを読み込ませる処理が完了です。

.pyファイルを指定して.exe化

フォルダを読み込ませる事ができましたら…
.pyファイルを指定してpyinstallerを実行します。
これで.exeファイルを作ることができます。

まず「pyinstaller 」と打ち込み。

これで、指定した.pyファイルに
pyinstallerの処理を実行できます。

=.exe化できます。

そしたら.exe化したい.pyファイルの名前を “.py” 付きでコピー。

そして「pyinstaller ファイル名.py」と打ち込み。

「pyinstaller」と「ファイル名.py」の間に半角スペースを入れてください。

そして、実行ファイルを1つにまとめるための処理を入れます。
「半角スペース」+「–onefile」の一文を追加。

これで「.exe」のファイルが生成されます。

次に、実行時にコンソールが表示されないようにします。
「半角スペース」+「–noconsole」を追加。

↓これで.pyファイルを実行時に生成された、黒い画面が表示されなくなります。

そしたら、Enterキーで実行。
しばらく待つと「successfully」と表示されます。
そして、元のファイルパスが表示されれば成功です。

これで元々の.pyファイルがある場所に、追加でフォルダが生成されます。
こちらの「dist」ファイルを開きます。

すると.exeファイルが生成されてます。
こちらを実行すると、プログラムが実行されます。

ファイル読み込みなどで動作を確認。
無事、動いてます。

これで.pyファイルを指定して.exe化する処理が完了です。

アイコンを変える

pyinstallerはアイコンを変える事もできます。

まず、アイコン用の画像を用意します。
画像は「.ico」形式で用意する必要があります。

あと、ファイル名はアルファベットを使った方が良いです。
(日本語名などの特殊文字はエラーが出る可能性があります)

まず.png形式でアイコンにしたい画像を用意します。

画像は「Krita」や「Affinity Photo」などを使って作ってください。

この画像をWEBの「icon_converter」などに読み込ませます。
すると「.ico」形式の画像に変換できます。(最大サイズ128 x 128px)

JPEG/PNG/GIFからアイコンを作成する「アイコン コンバータ」
このWebアプリケーションは、ブラウザ上でJPEG/PNG/GIFからWindowsやMac、Android、iPad、iPhoneなどのfaviconとして利用されるアイコン(.ICO形式、.PNG形式)ファイルへ変換するものです。

セキュリティ上の理由でローカル環境で.icoに変換したい方。
128 x 128px以上の大きさで保存したい方は「Krita」を使う事をおすすめします。
↓使い方はこちらで解説。

【Krita】.ico形式の画像を作る方法【拡張子,変更,書き出し】
.pngなどの形式で元画像の素材を用意しKritaに読み込み。「画像を新しいサイズにスケール」で画像の大きさを256×256pxあたりに調整したらエクスポートを選択。ここで書き出し設定を触れば「.ico」形式で書き出し可能。こちらを解説。

.icoファイルが用意できましたら.pyファイルがあるフォルダと同じ位置に入れます。
そして下記の処理を行います。

・すでにpyinstallerを実行して生成されたファイルがある場合はすべて削除
・.pyファイルの名前に「 _ 」がある場合は名前を変更

このアイコン画像設定は.pyファイルの名前に「 _ 」があると正しく動作しません。

なので、名前を「 _ 」が無いモノに変更。

そして、コマンドプロンプトに「 _ 」が無い.pyファイル名を打ち込み。
さらに「–icon=ファイル名.ico」を入力。
この状態で実行。

これで.exeのアイコン画像を差し替える事ができます。
…ただし、謎の余白が生成されました。

こちらは、何故かPCを落としてから半日後、再起動したら治りました。

たぶん、キャッシュ系の何かが悪さをしたと思います。

もし、この方法でアイコンが変わらない場合は…
↓こちらの対処法を1つ1つ試してください。

【Python】pyinstallerでアイコンが設定されない時の対処法【ico,画像】
.exeのアイコンは、pyinstaller実行時に「--icon=ファイル名.ico」を入力すると設定可能。ただしキャッシュやファイル名によって正しく動作しないことがあります。.pyファイルの名前に「_ 」が入ってると動かないので注意。

以上が、アイコンを変える方法です。

まとめ

今回は、Pythonで作った.pyファイルを.exeしアプリとして使う方法を紹介しました。

・まず.pyファイルをクリックして処理が動くかが確認
・.pyファイルの.exe化は「pyinstaller」などを使えばできる
・pyinstallerはコマンドプロンプトで導入&操作する
・コマンドプロンプトで.pyファイルがある場所に移動
・コマンドプロンプトに「pyinstaller .py –追加情報」を打ち込むと動作する
・.icoファイルを用意すれば、アイコンの差し替えも可能
・アイコンを差し替える場合.pyのファイル名に「 _ 」があると正しく動かないので注意

また、他にもPythonやプログラムについて解説してます。

【Python】ビット演算の使い方【演算子,活用方法,ゲーム属性】
ビット = PC内部の「0」と「1」を計算する装置1つの単位で、ビット演算を使うと、複数の条件があるモノを手軽に管理できます。これはゲームなどの属性を作る際に役立ちます。さらに、ビット演算子を使うと、入力したビットに変化を加える事ができます。
【Python】__pycache__ファイルを作らない方法
__pycache__はモジュール読み込み時に作られるキャッシュファイルで、プログラムに特殊な処理を入れたり、コマンドプロンプトでpython -Bや「set PYTHONDONTWRITEBYTECODE=1」を使うと作られなくなります。
【Python】import と from import *の違いについて
improtを使うと外部プログラムから"関数"を読み込めます。import ○○ がもっとも一般的な読み込み方です。from ○○ import * という形でも読み込み可能で、こちらを使えばモジュールを省略可能ですが動作の安定性が減ります。

ぜひ、こちらもご覧ください。

コメント

タイトルとURLをコピーしました