0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

python-build-standalone で爆速起動のPythonツールを配布する

Last updated at Posted at 2025-06-17

Pythonで書いた簡単なスクリプトを手軽に共有したいとき、ユーザー側のPython環境は悩みの種です。

  • Pythonのインストールは面倒
  • パッケージのインストールはもっと面倒
  • PyInstaller はウィルス誤検知されるし起動が遅い
  • Nuitka はビルドが大変
  • 本家Pythonの Embeddable Package はpipが入ってない

これらを解決してくれる python-build-standalone というプロジェクトがいつの間にか爆誕していました。
実は、uv のPythonのインストールや実行が速いのはこのディストリビューションを使っているからだそうです。

python-build-standalone とは?

  • 完全にポータブルなPython環境(レジストリや環境変数に依存しない)
  • 超高速な起動(パス探索や動的読み込みを省き最適化)
  • pipによるパッケージ追加も簡単
  • ユーザーはフォルダを解凍するだけで即使える

導入方法

ダウンロード

リリースページ から目的のシステム向けのビルドを入手します。
ファイルが多くて面食らいますが、

を選んでダウンロードします。
ビルドのバリエーションは下記どちらかを使えば問題ないでしょう。

  • install_only: 標準的な最小構成
  • install_only_stripped: デバッグ機能を省いたさらに軽量なもの

今回は cpython-3.12.11+20250612-x86_64-pc-windows-msvc-install_only.tar.gz を使います。解凍すると下記のようになります。

# 主要なファイル以外は省略
project/
└─ python/
   ├─ python.exe
   ├─ python312.dll
   ├─ Lib/
   └─ DLLs/

pipパッケージのインストール

pipが付属しているので簡単にインストールできます1

cd python
.\python.exe -m pip install -U pip
.\python.exe -m pip install requests

実行

「それだけ?」って感じですが、既にちゃんと python.exe main.py で実行できるようになっています。

main.py
import requests
input("import successful!")
> .\python.exe main.py
import successful!

配布

社内ツールなら、下記のようなフォルダ構成にしておいて、

project/
├─ python/
├─ src/main.py
└─ run.bat

起動用のバッチファイルには下記のようにでも書いておけばOKです。

run.bat
python\python.exe src\main.py %*

これだけで、パッケージも含めたPython環境と一緒にツールを配布できます。起動も爆速!ぜひお試しあれ。

  1. パッケージは python\Lib\site-packages にインストールされます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?