2025-12-18

python で Windows アプリを作ろう!! exe化する方法 ('ω')ノシ

python プログラムの exe化 の方法を記しておきます 真顔

実はノウハウの必要とするところなんじゃないかな、と感じたため残すこととしました 

 

ややこしい話もあるけど、「まずは試してみたらできました!!」の体験を大事にしたいので、

ややこしい話は抜きに手順だけ示したく、以下の順で述べます

 

 1 とにかく exe化

 2 仮想環境を使って軽量化(というより重量化の抑止)

 3 アイコンの封入

 

1 とにかく exe化

細かいことはさておき、さっさと exe化 を試したいなら以下の手順で exe ができあがります

pip install pyinstaller

pyinstaller --onefile sample.py

--noconsole はお好みで付けたらよいかな

 

上記の実行で、dist フォルダができて、そこに sample.exe ができあがっています

ご確認くださいませ ニヤニヤニヤニヤニヤニヤ


2 仮想環境を使って軽量化(というより重量化の抑止)

python 開発環境には 過去に pip install したライブラリもすべて入っています ('ω')

そこには exe化したいアプリで使うライブラリ以外も当然ながら存在するので、

 

そこで exe化 すると不要なライブラリも含まれ、とっても大きな exe ができあがっちゃいます ( ゚Д゚)ノシ

 

私の環境だと、100MB を超えるものが作られます!! (;^ω^)

 

なので、仮想環境を作って、そこで必要なライブラリを pip install して exe化します ('ω')ノ

 

python -m venv venv

venv\Scripts\Activate

pip install pyinstaller

pip install ***     ※ *** は適宜必要なものをご指定くださいませ

python -m PyInstaller --onefile sample.py

 

仮想環境を終わるときは以下のコマンドをたたいておきましょう (・ω・)

うっかり忘れると、別アプリ用のライブラリをインストールするなど、悲しい事故がおきます (;^ω^)

venv\Scripts\Deactivate

 

3 アイコンの封入

作ったアプリには独自のアイコンを表示させたいですよね (/o\)

 

exe化する際のコマンド引数に --icon=icon.ico を入れるとアイコンが入るけど・・・

Window を持つアプリの場合の Window の左上のアイコンは変化しないです

 

調べるのに苦労しました (;^ω^)

 

あわせて変更する方法を記します

 

アイコンを指定するところを下記のように変更をして、

icon_path = get_resource_path("icon.ico")
root.iconbitmap(icon_path)

 

上記で呼ばれる関数(以下)を配置する

def get_resource_path(relative_path):
    """PyInstaller でパッケージ化された実行ファイルからのパスを取得"""
    if getattr(sys, 'frozen', False):
        # PyInstaller でビルドされた場合
        base_path = sys._MEIPASS  # 一時ディレクトリに展開される
    else:
        # 通常のスクリプト実行時
        base_path = os.path.abspath(".")

    return os.path.join(base_path, relative_path)

 

exe化の際のコマンドは以下のように指定する

python -m PyInstaller --onefile --icon=icon.ico --add-data "icon.ico:." sample.py

 

以上でいい感じにアイコンが表示されると思います ('ω')ノ

 

0 件のコメント:

コメントを投稿

ご訪問をありがとうございます ✨✨✨

八百茄子 は ソフトウェアエンジニア1名による小さな工房です 週末に スキルアップ と 八百茄子 向けのコンテンツ作成に勤しんでおります ご提供コンテンツ tools  にて 八百茄子 の作成したツールをご紹介しています knowhow  にて、 2x年の組込み系ソフトウェア開発...