1.Python プログラムの配布方法
Python で作ったプログラムは、目的や相手の環境によって「配布方法」が変わります。
- Python スクリプトとして配布する(.py のまま)
- 仮想環境ごと渡す(中級向け)
- 実行ファイル(.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 exe | Windows |
| Mac app(.app) | macOS |
| Linux 実行バイナリ | Linux |
5.まとめ
| 配布方法 | 使う場面 | 難易度 |
| .py のまま渡す | Python が入っている相手に渡す | ★☆☆ |
| 仮想環境ごと渡す | 実務・社内配布 | ★★★ |
| EXE にする(PyInstaller) | Python なしのPCで動かしたい | ★★☆ |
| Docker ※ここでは掲載しません | Web / サービス向け | 上級 |

