以前の記事でtkinterを使ってpythonで簡単なGUIを作ってみました。
作ったGUIは環境構築ができていない人に配布することも考えられるので、最終的にはexe化することになると思います。
なので今回はtkinterで作ったものをexe化する方法の備忘録になります。
では、始めます。
1:pyinstallerのインストール
pythonのソースコードをexe化するにはいくつか手段があるようですが、今回はpyinstallerを使います。
pyinstallerのインストールは簡単で以下のpipコマンドを実行することでインストールできます。
$ pip install pyinstaller
pyinstallerがちゃんとインストールできているかは、以下のコマンドを実行してエラーなくバージョン情報が表示されるかで確認ができます。
$ pyinstaller -v
2:pyinstallerでexe化
実際にpyinstallerを使って冒頭の記事にある「tkinter_sample.py」をexe化してみます。
まず最初にPowerShellなどを立ち上げ「cd」コマンドで対象ソースコードが存在する階層へ移動します。
その後以下のコマンドを実行します。
$ pyinstaller tkinter_sample.py --name tkinter_sample.exe --onefile --noconsole
色々な表示が出る中しばらく待って以下のように「completed successfully」と表示されればexe化は完了です。
INFO: Building EXE from EXE-00.toc completed successfully.
コマンド実行後、対象のpythonファイルと同じ階層に色々とフォルダやファイルができていますが、「dist」というフォルダの中にexeファイルが作られています。
このdistフォルダ内に作られたexeをダブルクリックで起動させれば、pythonファイルを実行した時と同じものが実行されます。
3:pyinstallerのコマンドオプション
今回使ったpyinstallerのコマンドのオプションについて少し説明します。今回使ったオプションは以下になります。
書き方 | 内容 |
---|---|
-n [NAME], --name [NAME] | exe化する時のファイル名を指定する |
-F, --onefile | 一つのexeファイルにまとめる |
-w, --windowed, --noconsole | exe起動時にコンソール画面を出さない |
なので2で実行したコマンドは「tkinter_sample.exeという1ファイルにまとめ、起動時にコンソール画面を出さないようにする」という形でビルドしたことになります。
ちなみに「--onefile」オプションを入れない場合はdist内に無数のファイルが作成され、exeファイルは作成されないので必ず指定するようにしてください。
この他にも色々とオプションがありますが、とりあえずexe化するというだけであればこれらのオプションを知っていればなんとかなるかと思います。
以上がtkinterで作ったGUIをexe化する方法になります。
exe化した時のアイコン画像を設定したい、などまだ色々ありますが、それは調べてから別の記事にでもしようかと思います。
・参考資料