Repolode
pex-tool

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. 1

    PyPIからpexをインストールする

    pip install pex
  2. 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 の数値は毎日更新されます。

関連プロジェクト