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

Added in version 3.4.

ソースコード: Lib/ensurepip

The `ensurepip` package provides support for bootstrapping the `pip` installer into an existing Python installation or virtual environment. This bootstrapping approach reflects the fact that `pip` is an independent project with its own release cycle, and the latest available stable version is bundled with maintenance and feature releases of the CPython reference interpreter.

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

注釈

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

This is an optional module. If it is missing from your copy of CPython, look for documentation from your distributor (that is, whoever provided Python to you). If you are the distributor, see オプションのモジュールの要件.

参考

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

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

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

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

Availability: not Android, not iOS, not WASI.

このモジュールは モバイルプラットフォーム と WebAssemblyプラットフォーム をサポートしません。

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

コマンドラインインターフェースを起動するには `-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` exposes two functions for programmatic use:

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` ではその依存はなくなるかもしれませんので)。