【pyinstaller】Pythonでツールを作ったらEXEファイルにして共有してみよう!

投稿日:2020-07-05



ナカジ(@cp_nakajun)です。

ちょっとした集計作業、これが毎日同じ作業となると面倒くさい。

簡単にできるツールはないかな?…マクロを組むか…
いや、いい機会だから勉強がてらPythonでやってみよう!スキルあげて他のことにも応用できるし

という僕がいたのは事実です…

僕は簡単なものしか作れません、それぐらいのプログラムのEXE化は簡単です。
(複雑なものになると今回の方法では難しいのかもしれないが)

ツールはやはり便利ですし、EXE化しておくとPythonの環境がなくても使えます。

僕のスキルレベルのコトはおいといて

要は「どんなに簡単なツールでも作ったら共有すると喜んでもらえる」かもしれないので共有してみよう!ということです。

そのためにpythonスクリプトをEXEファイル(windowsの実行形式)にする方法を残しておきます。

pyinstallerでPythonファイルをexe化する

最初にEXEファイルについて引用します。

EXEファイルとは、主にWindowsで使用されている、拡張子に「.exe」が付く実行ファイルのことである。クリックするとプログラムが自動的に実行されるようになっている。

EXEファイルに記述されているプログラムは、コンパイルされた後のオブジェクトコードで構成されている。このためコンピュータはEXEファイルを直接に実行できる。
(引用:EXEファイルとは何? Weblio辞書

EXE(実行ファイル)にすることでpython環境がないPCでも使うことができるようになります。

pyinstallerのインストール

python環境にpyinstallerというライブラリをインストールします。

pip install pyinstaller

オリジナルアイコンを準備する

これは「必須ではありません」が、せっかくなのでオリジナルのアイコンを準備してみましょう。

あとでEXE化するときにアイコンを指定しない場合はデフォルトのpythonアイコンになるのでアイコンは準備しなくても大丈夫です。

僕は以下のWEBサービスを利用してみました。

上記のようなサービスを利用して拡張子が[.ico]のファイルを準備してください。

pyinstallerでPythonスクリプトをEXE化

ここまで触れませんでしたが、EXE化したいPythonのスクリプトファイル(.py)の準備もしてください。

pyinstallerでPythonスクリプトをEXE化するにはコマンドプロンプトで以下のコマンドを実行します。

EXE化するPythonファイルは「ScriptName.py」になります。
実際はパスのタイピングが面倒なのでファイルをコマンドプロンプトにドラッグ&ドロップでいいと思います。

pyinstaller --onefile ScriptName.py

[–onefile]をつけることで1つのEXEファイルにまとまります。

[–onefile]オプションをつけないとEXEの実行に必要な複数のファイルと共に出力されるので、基本的には[–onefile]をつけた方が目的に合いますね。

また、オリジナルアイコンを設定する場合はpyinstallerでビルドする際のコマンドに[–icon]オプションをつけます。

pyinstaller --onefile --icon=icon.ico ScriptName.py

この時、「icon.ico」は自分のアイコンファイル名にしてください。

EXEファイルが出力されるディレクトリ

先のコマンドを実行し、処理が終わると以下のディレクトリにEXEファイルが出力されています。

C:\Users\ユーザー名\dist

デスクトップなど、好きな場所に持っていって試してみましょう!

上手く動いたら、周りの人におすそわけすると喜んでもらえるかもしれません。

※追記:2020/9/27
pyinstallerでEXE化すると起こる問題のとりあえずの対処について書きました。

【pyinstaller】で作ったEXEの「起動が遅い」&「サイズがデカい」問題をとりあえず対処する方法


サポート募集中

この記事はお役に立てましたか。
よかったら、コーヒー ☕ をご馳走いただけたら励みになります。



Python学習にオススメ




独学で身につけるPython〜基礎編〜【業務効率化・自動化で残業を無くそう!】icon

【完全初心者向け】絶対に挫折させないPython入門講座icon

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習 【2022年最新版】icon






シゴトがはかどる Python自動処理の教科書

PythonでExcel、メール、Webを自動化する本


おすすめのクリエイティブ・コーディング関連カテゴリー

ウェブツール

機能はシンプルなものですが、p5.jsやTone.jsで描画したり音が出たりするので遊んでみてください。
・【Midi Number Tools】:MIDIナンバーから音名と周波数を判定します
・【Delay Time Calculator】:テンポに応じた音符の長さを判定します