初心者でもPythonを使ってみよう

趣味と実益を兼ねたPython学習記

【スポンサーリンク】



pyinstaller スクリプトファイルをexeファイル化する方法 Python

f:id:vigilantPotato:20190608173443p:plain

Pythonスクリプトファイル(.py)をexeファイル化することのできるモジュール、「pyinstaller」について使い方をまとめていきます。

「pyinstaller」を用いてexeファイル化することにより、PythonがインストールされていないPCでもスクリプトを実行できるようになります。

目次

pyinstallerの使い方

まずはpyinstallerモジュールをインストールします。

通常通り、

pip install pyinstaller

でインストールすることができます。

次は実際にexeファイル化をしてみます。

「test.py」を準備し、以下のコードを記述します。

import tkinter

f = tkinter.Tk()
f.mainloop()

tkinterのメイン画面を表示するだけの非常に単純なアプリです。

これをexeファイル化していきます。

方法は非常に簡単で、

pyinstaller test.py

を実行するだけです。

実行して少し待つと、「test.py」と同じフォルダに、「pycashe」フォルダ、「build」フォルダ、「dist」フォルダ、「test.spec」が自動で保存されます。

「dist」フォルダ内の「test」フォルダにある「test.exe」が、「test.py」をexeファイル化したものになります。

「test.exe」を実行すると以下の様なtkinterのメイン画面が表示され、スクリプトファイルがexeファイル化されていることが確認できます。

f:id:vigilantPotato:20190306203314j:plain

ただし、次のようなコンソール画面も一緒に開いてしまいます。

f:id:vigilantPotato:20190306203353j:plain

次は、オプション機能の使い方をまとめます。コンソール画面を非表示にすることもできます。

便利なオプション

1. --noconsole

exeファイル実行時に、コンソールウィンドウを非表示にするオプション。

先ほどの例では、tkinterのメイン画面と一緒にコンソールウィンドウが表示されてしまいましたが、このオプションを付けて実行することにより、非表示にできます。

例: pyinstaller test.py --noconsole

2. --onefile

関連ファイルを不要にし、exeファイル単体動作を可能にするオプション。

先ほどの例では、「dist」フォルダ内の「test」フォルダに、exeファイルの他に大量のファイルが生成され、exeファイルはそれら無しでは動作しません。

しかし、-onefileオプションを用いることでexeファイル単体で動作が可能になります。

誰かに配布する際にはこちらの方が便利ですが、起動にかかる時間が少し長くなります。

例: pyinstaller test.py --onefile

3. --icon

exeファイルのアイコンの設定をするオプション。

デフォルトでは、

f:id:vigilantPotato:20190306203619j:plain

がアイコン画像ですが、このオプションを用いて好きなアイコンに設定できます。

試しに、以下のアイコンにしてみます。

f:id:vigilantPotato:20190306204008j:plain

まず、スクリプトファイルと同じフォルダにアイコン画像を保存しておきます。

アイコンに使用したい画像のファイル名が「test_icon.ico」の場合は、

pyinstaller test.py --ico=test_icon.ico

で、生成されるexeファイルにアイコンを設定することが可能です。

上記の例では、生成されたexeファイルは、以下の様になります。

f:id:vigilantPotato:20190306205740j:plain

4. 複数のオプション

オプションは以下の様に、複数個繋げても実行可能です。

例: pyinstaller test.py --noconsole -- onefile --ico=test_icon.ico

exeファイルが起動しない場合

exeファイルは生成されるが、クリックしても起動しない・・・という場合は、

pythonのバージョンを3.6にする

を試してみてください。