ensurepip — pipインストーラーのブートストラップ
バージョン3.4の新機能。
ensurepip パッケージは、pip
インストーラーを既存のPythonインストールまたは仮想環境にブートストラップするためのサポートを提供します。 このブートストラップアプローチは、pip
が独自のリリースサイクルを持つ独立したプロジェクトであり、利用可能な最新の安定バージョンがCPythonリファレンスインタープリターのメンテナンスリリースと機能リリースにバンドルされているという事実を反映しています。
ほとんどの場合、Pythonのエンドユーザーはこのモジュールを直接呼び出す必要はありません(pip
はデフォルトでブートストラップされる必要があるため)が、Pythonのインストール時にpip
のインストールがスキップされた場合は必要になることがあります(または仮想環境を作成する場合)またはpip
を明示的にアンインストールした後。
ノート
このモジュールはインターネットにアクセスしません。 pip
をブートストラップするために必要なすべてのコンポーネントは、パッケージの内部パーツとして含まれています。
も参照してください
- Pythonモジュールのインストール
- Pythonパッケージをインストールするためのエンドユーザーガイド
- PEP 453 :Pythonインストールでのpipの明示的なブートストラップ
- このモジュールの元の理論的根拠と仕様。
コマンドラインインターフェイス
コマンドラインインターフェイスは、インタプリタの-m
スイッチを使用して呼び出されます。
最も単純な呼び出しは次のとおりです。
python -m ensurepip
この呼び出しは、pip
がまだインストールされていない場合はインストールしますが、それ以外の場合は何もしません。 インストールされているpip
のバージョンが、少なくともensurepip
にバンドルされているバージョンと同じであるようにするには、--upgrade
オプションを渡します。
python -m ensurepip --upgrade
デフォルトでは、pip
は、現在の仮想環境(アクティブな場合)またはシステムサイトパッケージ(アクティブな仮想環境がない場合)にインストールされます。 インストール場所は、次の2つの追加コマンドラインオプションを使用して制御できます。
--root <dir>
:現在アクティブな仮想環境のルート(存在する場合)や現在のPythonインストールのデフォルトルートではなく、指定されたルートディレクトリを基準にしてpip
をインストールします。--user
:pip
を、現在のPythonインストールのグローバルではなく、ユーザーサイトのpackagesディレクトリにインストールします(このオプションは、アクティブな仮想環境内では許可されていません)。
デフォルトでは、スクリプトpipX
およびpipX.Y
がインストールされます(XYはensurepip
を呼び出すために使用されるPythonのバージョンを表します)。 インストールされたスクリプトは、次の2つの追加コマンドラインオプションを使用して制御できます。
--altinstall
:代替インストールが要求された場合、pipX
スクリプトはインストールされません。--default-pip
:「デフォルトのpip」インストールが要求された場合、2つの通常のスクリプトに加えてpip
スクリプトがインストールされます。
両方のスクリプト選択オプションを指定すると、例外がトリガーされます。
モジュールAPI
ensurepip は、プログラムで使用するための2つの関数を公開しています。
- ensurepip.version()
- 環境をブートストラップするときにインストールされるpipのバンドルバージョンを指定する文字列を返します。
- ensurepip.bootstrap(root=None, upgrade=False, user=False, altinstall=False, default_pip=False, verbosity=0)
pip
を現在の環境または指定された環境にブートストラップします。root は、インストールする代替ルートディレクトリを指定します。 root が
None
の場合、インストールでは現在の環境のデフォルトのインストール場所が使用されます。upgrade は、以前のバージョンの
pip
の既存のインストールをバンドルバージョンにアップグレードするかどうかを示します。user は、グローバルにインストールするのではなく、ユーザースキームを使用するかどうかを示します。
デフォルトでは、スクリプト
pipX
およびpipX.Y
がインストールされます(XYはPythonの現在のバージョンを表します)。altinstall が設定されている場合、
pipX
はインストールされません。default_pip が設定されている場合、2つの通常のスクリプトに加えて
pip
がインストールされます。altinstall と default_pip の両方を設定すると、 ValueError がトリガーされます。
verbosity は、ブートストラップ操作から sys.stdout への出力レベルを制御します。
ノート
ブートストラッププロセスには、
sys.path
とos.environ
の両方に副作用があります。 代わりに、サブプロセスでコマンドラインインターフェイスを呼び出すことで、これらの副作用を回避できます。ノート
ブートストラッププロセスは、
pip
に必要な追加モジュールをインストールする場合がありますが、他のソフトウェアは、これらの依存関係がデフォルトで常に存在すると想定すべきではありません(依存関係はpip
の将来のバージョンで削除される可能性があるため)。