【Python】スクリプトをexe化する
- なぜPythonスクリプトをexe化するのか?
- Pythonをexe化する方法
- PyInstallerを使ったexe化
- cx_Freezeを使ったexe化
- Nuitkaを使ったexe化
- py2exeを使ったexe化
- 各方法の比較
- exe化の際のトラブルシューティング
- まとめ
なぜPythonスクリプトをexe化するのか?
Pythonのスクリプトは通常、Pythonインタプリタを使用して実行されますが、exe化することで以下のような利点があります。
- Pythonをインストールしていない環境でも実行できる
- ソースコードを隠すことができる(完全ではない)
- 簡単に配布できる
Pythonをexe化する方法
Pythonスクリプトをexe化するには、主に以下のツールを使用します。
- PyInstaller:最も広く使われている方法
- cx_Freeze:Python標準のライブラリと互換性が高い
- Nuitka:PythonコードをC言語に変換して最適化
- py2exe:Windows向けに特化したツール
PyInstallerを使ったexe化
PyInstallerは最も広く使われているツールで、WindowsだけでなくLinuxやMacでも使用できます。
インストール
pip install pyinstaller
基本的な使い方
単一のexeファイルを作成するには、以下のコマンドを実行します。
pyinstaller --onefile my_script.py
フォルダに分かれた実行ファイルを作成する場合は以下のようにします。
pyinstaller my_script.py
cx_Freezeを使ったexe化
cx_FreezeはPython標準のライブラリとの互換性が高く、GUIアプリのexe化にも適しています。
インストール
pip install cx_Freeze
基本的な使い方
setup.py を作成し、以下のように記述します。
from cx_Freeze import setup, Executable
setup(
name="MyApp",
version="1.0",
description="My Application",
executables=[Executable("my_script.py")]
)
次に以下のコマンドを実行します。
python setup.py build
Nuitkaを使ったexe化
NuitkaはPythonスクリプトをC言語にコンパイルし、最適化されたexeを作成するツールです。
インストール
pip install nuitka
基本的な使い方
nuitka --standalone --mingw64 my_script.py
py2exeを使ったexe化
py2exeはWindows向けに特化したツールで、Windowsアプリケーションのexe化に適しています。
インストール
pip install py2exe
基本的な使い方
setup.py を作成し、以下のように記述します。
from distutils.core import setup
import py2exe
setup(console=['my_script.py'])
次に以下のコマンドを実行します。
python setup.py py2exe
各方法の比較
ツール | 特徴 |
---|---|
PyInstaller | 簡単にexe化可能、多くの環境で動作 |
cx_Freeze | 標準ライブラリとの互換性が高い |
Nuitka | パフォーマンスが向上 |
py2exe | Windows専用、軽量 |
exe化の際のトラブルシューティング
exe化の際によくあるトラブルとその解決策を紹介します。
実行時にエラーが出る
必要なライブラリが不足している可能性があります。以下のコマンドで追加してください。
pip install -r requirements.txt
exeファイルのサイズが大きい
PyInstallerの場合、以下のオプションを使うとサイズを削減できます。
pyinstaller --onefile --noconsole --clean my_script.py
まとめ
Pythonスクリプトをexe化することで、Python環境がないPCでも実行可能になります。目的に応じて適切なツールを選びましょう。