【Python入門】プログラムの配布形式・方法

Python

1.Python プログラムの配布方法

Python で作ったプログラムは、目的や相手の環境によって「配布方法」が変わります。

  1. Python スクリプトとして配布する(.py のまま)
  2. 仮想環境ごと渡す(中級向け)
  3. 実行ファイル(.exe)化して配布する(PyInstaller) ←人気!

それぞれ順番に分かりやすく説明します。

2..py ファイルをそのまま配布する方法(最も簡単)

プログラムが main.py のように1ファイルだけなら、そのまま相手に渡すだけで動きます。
ただし相手のPCに必要なもの:

  • Python 本体
  • 必要なライブラリ(pip install で入れる)

例:使うライブラリ一覧を requirements.txt で渡す

requests
pandas
numpy
相手側:
pip install -r requirements.txt
python main.py

メリット: もっとも簡単
デメリット: 相手も Python をインストールする必要がある

3.仮想環境ごと配布する方法(プロ向け)

実務では、以下の2つをセットで渡します:

プロジェクトフォルダ/
 ├── src/
 ├── venv/(仮想環境ごと)
 └── run.bat(Windows用スタートスクリプト※Linuxでは不要)

例:Windowsで実行するスタート用 bat を作る

venv\Scripts\activate
python src\main.py
pause

メリット:動作環境が完全に一致するのでトラブルが少ない
デメリット:フォルダが重くなる

4.実行ファイル(EXE)にして配布する(PyInstaller)

Python を入れていない相手にも配れるため、初心者〜中級者に一番人気の方法です。

(1)PyInstaller で EXE を作る方法

1. PyInstaller をインストール

pip install pyinstaller

2. EXE を作る

pyinstaller --onefile main.py

3. 出力先

dist/
 └── main.exe

この main.exe を渡せば、相手は ダブルクリックで実行できます。

4.その他設定

✔ ウィンドウが一瞬で消える問題 → 解決方法

ターミナルを表示したままにするには:

pyinstaller --onefile --console main.py

GUIアプリの場合(ターミナルを出さない):

pyinstaller --onefile --noconsole gui_app.py
✔ 画像・設定ファイルなどを含めたい場合
pyinstaller --onefile --add-data "setting.json;." main.py
✔ Mac / Linux 用に実行ファイルを作る場合

Windows で Mac のアプリは作れません。
Mac で Linux のバイナリも作れません。
各 OS で作る必要があります。

作成したいもの必要な環境
Windows exeWindows
Mac app(.app)macOS
Linux 実行バイナリLinux

5.まとめ

配布方法使う場面難易度
.py のまま渡すPython が入っている相手に渡す★☆☆
仮想環境ごと渡す実務・社内配布★★★
EXE にする(PyInstaller)Python なしのPCで動かしたい★★☆
Docker
※ここでは掲載しません
Web / サービス向け上級
タイトルとURLをコピーしました