Pythonで作成した自動処理をexe化(エグゼ)すると、どのパソコンでも同じ自動処理を実現できます。exe内にPython環境が含まれているので、Python環境がない他のPCでも同じ処理が動きます。※Windows環境
例えば、誰かがMicrosoftオフィスのExcelでVBAやマクロ機能のファイルを作成した時に、違うPC環境で同じ自動処理が実行できるのと似ています。自動処理が作成できなくても、ボタンを押すだけで自動処理されるツールを使いこなすことは、人手不足の今重要です。
基本的に、Pythonのexeを1クリックすれば、対象自動処理を誰のどのPCでも実行できますので、DX化による効率化が可能です。本記事では、Pythonスクリプトをexe化するPyinstallerライブラリの利用方法と利用例、注意点について解説いたします。
Pythonスクリプトをexe化するPyinstallerの紹介
Pythonスクリプトをexe化すれば自動実行の配布が用意
Pythonの環境構築をいちからチャレンジしようと思う方は稀で、業務に関わるほとんどの方はプログラムに興味がありませんし、ハードルが高いと思い込んでいます。Pythonで作成したスクリプトをexe化すれば、プログラムの配布が可能となり、配布先でボタンクリックだけで利用することができます。開発環境の構築が配布先で必要ないので、面倒な作業が要らず、自動処理できるのは大きなメリットです。
Pythonスクリプトをexe化はPyinstaller利用が簡単
Pythonスクリプトをexe化する手段は「py2exe、Nuitka」などありますが、安定感とわかりやすさはPyinstallerが一番優れていると感じています。
exe化は公式Pythonの仮想環境で行うのがおすすめ
exe化はPython環境とスクリプトをパッケージ化し配布します。必用なもの全てを入れる必要があるのでファイル容量が重くなります。
そこで気を付けるべきことは、必要最低限のライブラリやPython環境でexe化する必要があります。例えば、多くのPythonパッケージが含まれるAnacondaでexe化すると、恐ろしいほどのファイル容量になります。この状態で配布や実行することは非効率です。
おすすめなのは公式Python環境の仮想環境で必要ライブラリをインストールしてexe化する方法です。少ないファイル容量で配布が可能となり、社内DX化の促進に貢献できます。
仮想環境でexeを作成する
多くの方にexeファイルを配布するなら、軽量で実行スピードが速いものを提供したいです。そうなると公式Pythonをインストールして、必用なライブラリとスクリプトのみを仮想環境で構築する手段になります。
公式Pythonのインストールと仮想環境の構築は別記事の公式Pythonインストールで時短!venv仮想環境構築も紹介でご紹介しております。
ここでは仮想環境を「pyexe」と名付け作成しました。下記のpyexe仮想環境からコマンドを実行して、exe化していきます。
(pyexe) C:\Users\abi00\pyexe>
Pyinstallerでスクリプトをexe化する手順
Pyinstallerをpipでインストール
下記からは全て仮想環境「pyexe」の状態で実行していきます。
pip install pyinstaller
Pyinstallerでexe化するコマンド
「pyinstaller スクリプト名」でexe化することができます。今回は下記のtest1.pyでデスクトップ上にメッセージボックスを表示させるスクリプトをexe化する手順を解説します。
import tkinter as tk
from tkinter import messagebox
# メインウィンドウを作成(非表示)
root = tk.Tk()
root.withdraw()
# メッセージボックスを表示
messagebox.showinfo("Python exe実行", "exe実行が正常に表示されました")
上記スクリプトをexe化するコマンドは下記です。
pyinstaller test1.py
拡張子がipynbの場合はjupyter nbconvert –to python スクリプト名で変換
スクリプトの拡張子がipynbの場合はipynbファイルではうまく動作しませんので.pyに変更しましょう。
jupyter nbconvert --to python test1.ipynb
Pyinstallerのオプション
–onefile :関連ファイルを1つにまとめexe化(非常にわかりやすくなるので、おすすめです)
pyinstaller test.py --onefile
–noconsole :コマンドプロンプト非表示
pyinstaller test.py --noconsole
生成exeファイルの確認手順
上記を実行した結果、exe化できているかを確認します。イメージが伝わりやすい写真形式で下記に表示しました。

exe化すると仮想環境内のフォルダ(C:\Users\abi00\pyexe)にdistが作成されています。
この中に「test1.exe」が入っています。
例:”C:\Users\abi00\pyexe\dist\test1\test1.exe”

このtest1.exeをダブルクリックすると処理が実行されます。どのパソコンからでも基本同じ結果が得られるはずです。上記で作成した結果がデスクトップ上に表示されました。(下記)

Pythonのexeファイル配布と利用時の注意
Pythonのexeファイルを他のPCで利用する際に警告が出るケースがある
exeファイルは悪意があるものも含まれている可能性があります。exeファイル実行時やPCに保管する時にPCによっては警告が出るケースがあります。exeファイルを利用する場合は作成者の信頼性が重要になります。
exe化後はバイナリデータなのでスクリプトの中身はわからない
どのようなスクリプトなのか知ることができません。exeすることで作成者のノウハウが盗まれるリスクは減少しますが、利用者にとっては中身が全くわからないので、悪意のあるものがあった場合の不安は残ると思います。
ご質問やご依頼について
記事やDX化のご質問や依頼はServiceをご覧くださいませ。