【Python】スクリプトをexe化する

【Python】スクリプトを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でも実行可能になります。目的に応じて適切なツールを選びましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です