Rust製の超高速なPythonパッケージ/プロジェクト管理ツール。pip、virtualenv、pyenv、pipxなどを置き換えます。
pex-tool/pex
アプリケーションと依存関係を、ポータブルな virtualenv のように使える単一の実行可能な .pex ファイルにパッケージ化する Python ツール。
- スター
- 4,230
- フォーク
- 321
- 未解決の Issue
- 58
- 最終コミット
- 3 時間前
これは何?
Pex は、通常の実行ファイルと同じように起動できる、自己完結型の Python 環境である .pex(Python EXecutable)ファイルを生成します。PEP 441 の考え方を発展させ、Python アプリケーションのデプロイをファイルのコピーだけで済ませることを目指しています。1つの .pex ファイルに複数のプラットフォーム固有のディストリビューションを含められるため、異なる OS 間で同じアーカイブを実行できます。
pex コマンドは、コマンドラインで指定した requirements、pip freeze の出力、またはプロジェクトの console_scripts エントリーポイントから .pex ファイルをビルドします。また、永続的な virtualenv を作成せずに Flask を使ってスクリプトを実行するなど、一時的な環境を起動することもできます。ビルド時には PyPy など、特定のインタープリターを選択できます。
pip でインストールでき、ドキュメントサイトでは Pants や Buck などのツールとのビルド連携を含む、詳しい使い方を紹介しています。
主な機能
- 01依存関係や requirements ファイルから、単一ファイルの実行可能な Python 環境をビルドします。
- 02プラットフォーム固有のディストリビューションをまとめ、1つの .pex を複数の OS で実行できます。
- 03console_scripts のエントリーポイントを、単独で実行できるファイルとして提供します。
- 04手軽な試行向けに、一時的な環境を起動できます。
- 05ビルド時に PyPy など特定のインタープリターを選択できます。
ユースケース
- Python の CLI ツールやサービスを単一ファイルとしてサーバーに配布し、別途インストールする手間を省く。
- pip freeze の出力を使って、動作中の virtualenv をポータブルなアーカイブに固める。
- プロジェクト用の環境を作らずに、いくつかのライブラリを使うスクリプトを手早く実行する。
- Pants や Buck などのビルドシステムに、再現性のある Python ビルドを組み込む。
クイックスタート
- 1
PyPIからpexをインストールする
pip install pex - 2
requests、flask、psutilをまとめたpexファイルをビルドする
pex requests flask 'psutil>2,<3' -o my_app.pex
トピック
よくある質問
- pex とは?
- アプリケーションと依存関係を、ポータブルな virtualenv のように使える単一の実行可能な .pex ファイルにパッケージ化する Python ツール。 Pex は、通常の実行ファイルと同じように起動できる、自己完結型の Python 環境である .pex(Python EXecutable)ファイルを生成します。PEP 441 の考え方を発展させ、Python アプリケーションのデプロイをファイルのコピーだけで済ませることを目指しています。1つの .pex ファイルに複数のプラットフォーム固有のディストリビューションを含められるため、異なる OS 間で同じアーカイブを実行できます。
- pex は無料で使えますか?ライセンスは?
- pex は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- pex は今もメンテナンスされていますか?
- 活発にメンテナンス中。pex の最終コミットは 2026年10月24日 です。
- pex は何に使えますか?
- Python の CLI ツールやサービスを単一ファイルとしてサーバーに配布し、別途インストールする手間を省く。 pip freeze の出力を使って、動作中の virtualenv をポータブルなアーカイブに固める。 プロジェクト用の環境を作らずに、いくつかのライブラリを使うスクリプトを手早く実行する。 Pants や Buck などのビルドシステムに、再現性のある Python ビルドを組み込む。
- pex のインストール方法は?
- PyPIからpexをインストールする: pip install pex requests、flask、psutilをまとめたpexファイルをビルドする: pex requests flask 'psutil>2,<3' -o my_app.pex
- pex はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pex-tool/pex
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
NuitkaはPythonで書かれたPythonコンパイラで、Pythonプログラムをスタンドアロン実行ファイルや拡張モジュールに変換します。
PEP 621とPEP 517のメタデータに基づいて、仮想環境、ロックファイル、ビルドを管理する最新のPythonパッケージ・依存関係管理ツール。
リポジトリ内の古いパッケージを検出し、アップグレード用のプルリクエストを作成する依存関係の自動更新ツールです。
シリコンウェハが砂から完成チップになるまでを、難しい物理学に立ち入らずに解説する、初心者にも読みやすいオープンな書籍です。
SSH経由で自分のサーバーにアプリ、データベース、ワンクリックサービスをデプロイできるセルフホスト型プラットフォーム。Heroku、Netlify、Vercelの代替として利用できます。