PyInstallerでexeにアイコンを設定する方法|.ico作成からエラー対処まで
Pythonスクリプトをpyinstaller --onefile --windowed ファイル名.py でexe化すると、デフォルトでは下図のようなシンプルなアイコンが自動設定されます。(※Windowsのみ対応)
個人利用なら気にならないかもしれませんが、配布用ツールの場合は見た目の印象や信頼性を高めるためにも独自アイコンの設定が重要です。
特に、業務効率化ツールや社内用アプリとして配布する場合、アイコンがあるだけで「正式なアプリ感」がぐっと増します。
この記事では、筆者が実際に社内向けPDF結合ツールを配布した際の経験をもとに、
PyInstallerでexe化するときにアイコンを設定する方法をわかりやすく解説します。
必要なもの
- Pythonスクリプト(例:
main.py) - .ico形式のアイコンファイル(例:
myicon.ico)
PNGやJPEGではなくICO形式で用意する必要があります。
ICO形式はWindows専用のアイコン形式で、複数サイズ(16×16, 32×32, 256×256など)を1つのファイルに含められるのが特徴です。
アイコンファイルの作成方法
PNGなどの画像をICO形式に変換するには、以下の方法があります。
- オンラインツールを使う:ConvertICO(無料・登録不要)
- Windows標準の「ペイント」で画像を作成 → 専用の変換ソフトやWebツールでICOに変換
もしデザイン性の高いアイコンを作りたい場合は、CanvaなどでPNGを作成してからICOに変換するのもおすすめです。
PyInstallerでexe化+アイコン設定
以下のコマンドを実行することで、exe化と同時にアイコンを指定できます。
pyinstaller --onefile --windowed --icon=myicon.ico ファイル名.py
このコマンドを実行すると、プロジェクトフォルダ内のdistディレクトリに指定したアイコン付きの.exeファイルが生成されます。
実際に筆者が社内配布したPDF結合ツールでも、アイコンを設定したことで「公式アプリっぽく見える」と好評でした。
シンプルな工夫ですが、ユーザーの信頼感を高める効果は絶大です。
各オプションの意味
--onefile:すべてのファイルを1つのexeにまとめる(配布が簡単になります)--windowed:コンソール画面を表示しない(TkinterなどGUIアプリ用)--icon=myicon.ico:指定したICOアイコンを適用
なお、--windowed はGUIアプリ(TkinterやPyQt、customtkinterなど)向けのオプションです。
CLIアプリ(コマンドラインで実行するタイプ)の場合は省略して構いません。
よくあるエラーと対処法
実際にPyInstallerを使っていると、以下のようなエラーが起きることがあります。
- 「icon file not found」:アイコンファイルのパスが正しく指定されていない
- 「invalid icon file」:ICOファイルが壊れている、またはPNGなど別形式のまま
対処法としては、myicon.icoをスクリプトと同じフォルダに置くか、絶対パスで指定(例:--icon="C:\project\myicon.ico")すると確実です。
補足:exe化ではなく「VPSで常時実行」という選択肢
ここまでPyInstallerでexe化する方法を紹介しましたが、用途によってはexe化せずにPythonスクリプトをVPS上で動かすほうが合理的なケースもあります。
たとえば、以下のような場面です。
- 定期的にデータを取得・集計するバッチ処理(cronで自動実行)
- 常時動かしておきたいBot・監視スクリプト
- 自分のPCを起動していなくても処理を回し続けたい場合
こうした「人に配るツール」ではなく「自分のスクリプトを24時間動かしたい」という目的なら、exe化よりVPS運用のほうがシンプルです。
PythonスクリプトをVPSで常時実行するなら、コスパと性能のバランスが重要です。
シンVPSは、国内最安クラスのメモリ単価と高性能を両立したVPSサービスです。
- 全プランオールNVMe SSD搭載(一般的なSSD比で約5.7倍高速)
- CPU処理性能も他社VPS比で約4.2倍のパフォーマンス
- 初期費用無料・月額325円〜で始められる
- Pythonなどのアプリ環境をワンクリックで構築できる「アプリイメージ」が50種以上
「cronでPythonスクリプトを定期実行したい」「Botを24時間稼働させたい」といった用途なら、月額数百円から始められるVPSが手軽です。exe化して配布するか、VPSで常時実行するか、目的に合わせて使い分けるのがおすすめです。
まとめ
Pythonスクリプトを配布する際は、単にexe化するだけでなく、アイコンを設定して見た目と信頼性を高めるのがおすすめです。
特に社内やクライアント向けにツールを共有する場合、独自アイコンを設定することで「正式なアプリケーション」として受け取られやすくなります。
一方で、配布ではなく自分用のスクリプトを常時実行したい場合はVPS運用も選択肢になります。目的に合わせて「exe化 or VPS」を使い分けてみてください。
もし今後、社内向けツールや副業案件などでPython製アプリを配布する予定がある方は、
今回紹介したPyInstallerの--iconオプションをぜひ活用してみてください。
東証プライム企業・年収500万超へ。
「自分と同じかも」と思ったら、読んでみてください。

