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

Added in version 3.4.

ソースコード: Lib/ensurepip

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

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

注釈

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

参考

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

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

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

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

Availability: not Emscripten, not WASI.

This module does not work or is not available on WebAssembly platforms `wasm32-emscripten` and `wasm32-wasi`. See WebAssembly プラットフォーム for more information.

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

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

最も簡単な起動方法は:

    python -m ensurepip

この起動方法は `pip` をインストールします。既にインストールされていた場合は何もしません。インストールされた `pip` のバージョンを `ensurepip` で利用できるもののうち、できるだけ新しいものにするためには、`--upgrade` オプションを追加して:

    python -m ensurepip --upgrade

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

--root <dir>

  Installs `pip` relative to the given root directory rather than the root of the currently active virtual environment (if any) or the default root for the current Python installation.

--user

  Installs `pip` into the user site packages directory rather than globally for the current Python installation (this option is not permitted inside an active virtual environment).

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

--altinstall

  If an alternate installation is requested, the `pipX` script will not be installed.

--default-pip

  If a "default pip" installation is requested, the `pip` script will be installed in addition to the two regular scripts.

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

## モジュール API

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

ensurepip.version()

  環境にブートストラップする際にインストールされることになる利用可能な pip のバージョンを示す文字列を返します。

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

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

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

  upgrade で、 `pip` の利用可能なバージョンとして、インストール済みの以前のバージョンをアップグレードするかどうかを指定します。

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

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

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

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

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

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

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

  注釈

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

  注釈

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