IT・WEB・ゲーム業界の転職に強いR-Stone

転職コラム

Pythonのexe化するためには?PyInstallerを使った方法をご紹介

Pythonで開発したアプリケーションを、Python環境のない一般ユーザーにも使ってもらいたい。そんな願いを叶えるのが「exe化」という技術です。

本記事では、Pythonスクリプトをexeファイルに変換するための代表的なライブラリ「PyInstaller」の使い方を解説します。インストール手順からコマンドオプションの詳細、カスタマイズ方法、トラブルの解決策まで。

本記事を参考に、あなたのPythonプログラムを誰でも簡単に利用できる形で配布してみましょう。

Pythonのexe化とは?

Pythonのexe化とは、Pythonスクリプト(.py)をWindows実行ファイル(.exe)に変換する技術です。

Pythonスクリプト(.py)をexe化すると、Pythonがない環境でもダブルクリックでプログラムを実行できるようになります。

exe化する必要性について

exe化が必要な理由は、主に配布のし易さと利便性の向上です。

多くの一般ユーザーはPythonの環境構築が困難で、コマンドライン操作にも慣れていないため、exe化により、利用のハードルを取り除けます。

また、ソースコードを見られずにプログラムを配布できる利点もあります。

対象ユーザー

Pythonアプリケーションを幅広いユーザーに配布したい人が活用します。

また、exe化されたプログラムの主な対象ユーザーは、技術的な知識を持たない一般ユーザーです。

具体的には、パソコンにPythonがインストールされていないユーザーや、コマンドライン操作に不慣れなユーザーです。

exe化に使うライブラリ:PyInstaller

exe化ツールのなかでも人気のあるPyInstallerライブラリを解説します。

PyInstallerとは?

PyInstallerは、Pythonスクリプトを実行可能ファイルに変換するライブラリです。

依存関係を自動検出し、必要なファイルを含めてくれるため、初心者でも簡単に使えます。

PyInstallerのインストール

※ venvなど仮想環境の使用がおすすめです。

pipコマンドでインストールします。コマンドプロンプトで以下を実行してください。

pip install pyinstaller

バージョン固定する場合は以下のようにします。

pip install pyinstaller==6.14.2

インストール後の確認

# 正常にインストールできていればバージョン情報を表示します

pyinstaller –version

PyInstallerの基本的な使い方

基本の使用方法は、Pythonファイルを指定するだけです。

pyinstaller your_script.py

単一ファイルを作成する場合は–onefileオプションを使います。

pyinstaller –onefile your_script.py

アイコンを設定する場合は–iconオプションを使用します。

pyinstaller –onefile –icon=app_icon.ico your_script.py

以下はPyInstallerの主なオプションです。

exe化でよくあるトラブルと対処法

モジュールが見つからないエラーでは、–hidden-importオプションで必要なモジュールを指定します。

pyinstaller –hidden-import=pandas –hidden-import=numpy your_script.py

相対パスで参照するファイルが見つからない場合、以下の関数で正しいパスを取得できます。

import sys

import os

 

def resource_path(relative_path):

    if hasattr(sys, ‘_MEIPASS’):

        return os.path.join(sys._MEIPASS, relative_path)

    return os.path.join(os.path.abspath(“.”), relative_path)

外部ファイルを組み込む場合は、–add-dataオプションを使用します。

pyinstaller –add-data “config.txt;.” –add-data “images;images” your_script.py

まとめ

Pythonのexe化は、Pythonがインストールされていない環境でもプログラムを実行できるようにします。PyInstallerは、依存関係を自動検出し簡単にexe化できます。

あなたも今日からPyInstallerでアプリケーションの配布範囲を広げてみましょう。