exeファイルとは?
exeファイルとは、”executable file”(実行可能ファイル)の略でコンピュータ上で実行できるプログラムを含むファイル形式です。Windowsオペレーティングシステム(OS)で主に使用されユーザーがプログラムを簡単に実行できるようにするためのものです。exeファイルはアプリケーション、ゲーム、またはWindowsのシステムツールなど、さまざまな用途で使われます。
exeファイルの特徴
直接実行可能
exeファイルは「実行可能ファイル」とも呼ばれコンピュータ上でプログラムを直接起動させることができるファイルです。このファイルを使うことで特に複雑な手順を踏むことなくマウスでファイルアイコンをダブルクリックするだけでそのプログラムを起動することが可能になります。
自己完結型
exeファイルは自己完結型であるという特徴を持っています。これはプログラムを実行するために必要なコードやリソースさらには依存している他のプログラムやライブラリが1つのファイル内にすべて含まれていることを意味します。そのためexeファイルを使う際には追加で他のファイルやライブラリを探してインストールする必要がなく、そのファイル一つでプログラムが機能します。これによりプログラムの利用が非常に簡単かつ便利になります。
コードの保護
プログラムを開発する際には、そのソースコードを他人に見られたくないあるいはコピーされたくないという場合がよくあります。exeファイルはプログラムのソースコードを直接公開することなく配布が可能になるため、開発者が自身のコードを保護するのに役立ちます。つまりexeファイルを通じてプログラムを配布することで、ソースコードを隠したまま他の人がそのプログラムを使用することができるようになります。
Pythonプログラムを実行可能なexeファイルに変換することは特定のツールを使用して行います。そのようなツールの中にはPyInstallerやcx_Freezeといったものがあります。この記事ではPyInstallerを紹介していきます。
PyInstallerを使うことで、Pythonプログラムを簡単にexeファイルに変換でき、WindowsのPC上で直接実行することが可能になります。
Pythonプログラムからexeファイルを生成する方法
PyInstallerのインストール
まずはPyInstallerをインストールする必要があります。以下のコマンドを使用してインストールできます。
pip install pyinstaller
Visual Studio Codeのターミナルから起動すると以下のような形です。

インストールが完了すると「Successfully installed …」と表示されます。

exeファイルの生成
次に、Pythonプログラム(例: test_pandas.py)からexeファイルを生成します。
ソースファイルは前回利用した以下記事のものを利用します。
ターミナルに以下を入力します。
--onefileオプションはexeファイルを1つにまとめます。
pyinstaller --onefile test_pandas.py
Visual Studio Codeのターミナルから起動すると以下のような形です。

生成されたexeファイルはdistディレクトリ内にあります。
※Visual Studio Codeからは起動できないのでエクスプローラから確認します。

distフォルダのtest_pandas.exeを起動します。
※コマンドプロンプトが表示されてすぐに消えると思います。

コマンドプロンプトから起動したイメージです。

他覚えておいたほうが良いオプション
--noconsole: コンソールウィンドウを表示せずにGUIアプリケーションとしてexeを生成します。TkinterでGUI画面を作成した際にコンソール表示が邪魔となるので利用することとなると思います。
Tkinterを利用したGUIアプリケーションの例は以下を参照ください。
最後に
以上がPyInstallerを利用したexeの作成方法です。
具体的なプロジェクトやニーズに応じて、オプションを調整して使用してみてください。
コメント