ensurepip --- pip インストーラのブートストラップ

バージョン 3.4 で追加.


ensurepip パッケージは pip インストーラを既にインストールされている Python 環境や仮想環境にブートストラップする助けになります。このブートストラップのアプローチは pip が独立したリリースサイクルを持ち、最新の利用可能な安定版が CPython リファレンスインタープリタのメンテナンスリリースや feature リリースにバンドルされていることを反映しています。

ほとんどの場合、Python のエンドユーザーがこのモジュールを直接呼び出す必要はないでしょう(pip はデフォルトでブートストラップされるからです)。しかし、もし Python のインストール時に pip のインストールをスキップしたり、仮想環境を構築したり、明示的に pip をアンインストールした場合、直接呼び出す必要があるかもしれません。

注釈

このモジュールはインターネットに アクセスしませんpip のブートストラップに必要な全てはこのパッケージの一部として含まれています。

参考

Python モジュールのインストール

エンドユーザーが Python パッケージをインストールする際のガイドです。

PEP 453: Python インストールの際の明示的なpipのブートストラッピング

このモジュールのもともとの論拠と仕様。

コマンドラインインターフェイス

コマンドラインインターフェースを起動するには -m スイッチをつけてインタープリターを使用します。

最も簡単な起動方法は:

python -m ensurepip

This invocation will install pip if it is not already installed, but otherwise does nothing. To ensure the installed version of pip is at least as recent as the one available in ensurepip, pass the --upgrade option:

python -m ensurepip --upgrade

デフォルトでは、pip は現在の仮想環境(もしアクティブなら)か、システムのサイトパッケージ(もしアクティブな仮想環境がなければ)にインストールされます。インストール先は2つの追加コマンドラインオプションで制御できます:

  • --root <dir>: 現在のアクティブな仮想環境(もしあれば)の root や現在インストールされている Python の root ディレクトリに入れる代わりに、与えられたディレクトリを root として pip をインストールします。

  • --user: は、現在インストールされている Python にグローバルにインストールされる代わりに、ユーザーの site packages ディレクトリに pip をインストールします(このオプションはアクティブな仮想環境のもとでは許可されません)。

デフォルトでは pipXpipX.Y がインストールされます(X.Yは ensurepip を起動したPythonのバージョン)。インストールされるスクリプトは2つの追加コマンドラインオプションで制御できます:

  • --altinstall: alternate インストール。X.Y でバージョン付けされたものだけがインストールされます。

  • --default-pip: "default pip" のインストールが要求されると、通常の二つのスクリプトに加えて pip スクリプトがインストールされます。

2つのスクリプト選択オプションを指定すると例外が発生します。

モジュール API

ensurepip はプログラムから利用出来る 2 つの関数を公開しています:

ensurepip.version()

Returns a string specifying the available version of pip that will be installed when bootstrapping an environment.

ensurepip.bootstrap(root=None, upgrade=False, user=False, altinstall=False, default_pip=False, verbosity=0)

現在の環境あるいは指示された環境へ pip をブートストラップします。

root で、インストールの root ディレクトリを変更します。 rootNone の場合は、インストールは現在の環境でのデフォルトの場所を使います。

upgrade indicates whether or not to upgrade an existing installation of an earlier version of pip to the available version.

user で、グローバルなインストールではなく user スキームを使うかどうかを指定します。

デフォルトではスクリプト pipXpipX.Y はインストールされます(X.YはPythonの現在のバージョンです)。

altinstall が設定されていた場合は pipX はインストール されません

default_pip がセットされていれば、 pip スクリプトが2つの標準スクリプトと共にインストールされます。

altinstalldefault_pip の両方を指定すると、 ValueError を起こします。

verbosity でブートストラップ操作からの sys.stdout への出力の冗長レベルをコントロールします。

引数 root 付きで 監査イベント ensurepip.bootstrap を送出します。

注釈

ブートストラップ処理は sys.path, os.environ の両方に対して副作用を持ちます。代わりに、サブプロセスとしてコマンドラインインターフェイスを使うことで、これら副作用を避けることが出来ます。

注釈

ブートストラップ処理は pip によって必要とされるモジュールを追加インストールするかもしれませんが、ほかのソフトウェアはそれら依存物がいつもデフォルトで存在していることを仮定すべきではありません(将来のバージョンの pip ではその依存はなくなるかもしれませんので)。