今回は、「pyinstaller」を使ってPythonをexe化する際に、アイコンを付ける方法と、アイコンが反映されない場合の対処法について解説したいと思います。
「pyinstaller」を使ってexe化することで、pythonの環境を構築していない人に渡しても実行することが出来るため、作成したプログラムを配布する際に役に立いちます。
ただ、そのままexe化すると、デフォルトで下のようなアイコンになってしまいます。
せっかく自分で作ったプログラムを渡すのであれば、アイコンも好きなものに変えてみたいですよね?
今回の内容を抑えれば好きなアイコンを付けることが出来るので、オリジナリティも出せてexe化するのがちょっと楽しくなると思います。
- pyinstallerでexe化する際にアイコンを付ける方法が分かる。
- アイコンがうまく反映されない理由と対処法が分かる。
pyinstallerでアイコンを付けよう
exe化する環境を準備しよう
まずは「pyisntaller」でexe化し、アイコンを付けるための環境を準備します。
「pyisntaller」でのexe化の基本は、exe化したいプログラムがある場所で「pyinstaller」をインストールした環境を開き、「pyinstaller –onefile プログラム名.py」というコマンドを実行することです。
※「–」の部分は、下のようにハイフン「-」をスペースを空けずに2つ続けてください。
pyinstaller --onefile プログラム名.py
この時、anacondaの「base」環境にインストールしても良いのですが、exeの軽量化のためにも新しい環境を構築することをお勧めします。
詳しい理由や環境の構築については下記の記事をご覧ください。
アイコンを付けてexe化しよう
上で解説しましたがexe化の基本コマンドは「pyinstaller –onefile プログラム名.py」でしたね。
アイコンを付けるためには、さらに「–icon==アイコン名.ico」というコマンドを追加します。
下のような形です。
pyinstaller –onefile –icon=アイコン名.ico プログラム名.py
こうすることで、プログラムに好きなアイコンを付けることが出来ます。
では、実際にexeを作ってみましょう。
下のように、pythonのファイルとアイコンを用意して、先ほどのコマンドを実行します。
実行するコマンド
pyinstaller –onefile –icon=test_icon.ico cal_sum.py
すると、ちゃんとアイコンが付いたexeを作成することが出来ます。
ただし、この方法ではアイコンが反映されないことがあります。
次の章ではその理由と対処法について解説していきます。
アイコンが反映されない理由と対処法
理由1:アイコンが正しい形式やサイズになっていない
アイコンが反映されない一つ目の理由としては、アイコンの形式やサイズが正しく設定されていないことです。
ペイントなどで自作したアイコンで、拡張子を「ico」で保存するだけでは正しくアイコンファイルとして読み込めず、反映されないといった問題が生じます。
私も、初めはこの問題に悩まされました。
解決策として一番簡単なのは、アイコン作成サイトを利用することです。
お勧めは下のサイトで、画像をアップロードするだけで複数のサイズのアイコン画像を作成してくれます。
(私もこのサイトでアイコンを作成しています)
使い方は簡単で、下記手順を実行するだけで簡単にアイコンを作成してもらえます。
- 「ファイルを選択」ボタンをクリックして、作りたいアイコンの元画像を選択
- 「変換」ボタンを押すことで、複数サイズのアイコンが表示される(※下図)
- 左列のアイコン形式一覧から、使用したいサイズのアイコンの「Download」をクリック
- 表示された画面で「右クリック」→「名前を付けて画像を保存」で保存
アイコンのサイズはどれでも良いですが、アイコンはあまり大きく表示されることが無いので、ファイルサイズも考えて「32×32」を選べばよいと思います。
(画質が気になる人は128×128を選べば一番きれいに表示されます)
これで、アイコンがうまく表示されない方は多くは解決できると思います。
それでもうまく表示されない人は、次の「アイコンキャッシュ」の方法も試してみてください。
理由2:アイコンキャッシュによる影響で表示が反映されていない
アイコンが表示されない2つ目の理由として、「アイコンキャッシュ」による影響が考えられます。
アイコンキャッシュとは、「アイコンを素早く表示するために一時ファイルとしてまとめて管理されているもの」ですが、このキャッシュのせいでアイコンが正常に表示されない場合があります。
その場合は、一度アイコンキャッシュを削除する必要があります。
といっても方法は簡単で、「ie4uinit.exe」というものを使えば簡単にアイコンキャッシュを削除することが出来ます。
具体的に手順は下記のとおりです。
- 「windows」+「R」で、「ファイル名を指定して実行」を表示
- 「ie4uinit.exe -show」と入力して実行
「windows」+「R」を押すことで、下のように「ファイル名を指定して実行」が表示されるので、そこに「ie4uinit.exe -show」と入力しましょう!
これでアイコンキャッシュを削除することが出来ましたので、正しいアイコンが表示されているはずです!
まとめ
今回は、「pyinstaller」を使ってPythonをexe化する際にアイコンを付ける方法と、アイコンが反映されない場合の対処法について解説しました。
せっかく自分が作ったプログラムをexe化して配布するなら、好きなアイコンに変えたいですよね。
以下に今回の内容をまとめておきますので、ぜひ覚えて好きなアイコンでexeを作成してみて下さい!
- 基本コマンドは「pyinstaller –onefile –icon=アイコン名.ico プログラム名.py」
- 使用するアイコンはアイコン作成サイトで正しい形式で保存
- それでも反映されない場合は「アイコンキャッシュ」を削除する
また、このサイトでは初心者の方向けに「プログラミングのお勧め学習法」も紹介していますので、気になった方はそちらもご覧いただけると幸いです。
コメント