ensurepip --- pip インストーラーのブートストラップ¶
Added in version 3.4.
ソースコード: Lib/ensurepip
ensurepip パッケージは pip インストーラを既にインストールされている Python 環境や仮想環境にブートストラップする助けになります。このブートストラップのアプローチは pip が独立したリリースサイクルを持ち、最新の利用可能な安定版が CPython リファレンスインタープリタのメンテナンスリリースや feature リリースにバンドルされていることを反映しています。
通常、pip はデフォルトでブートストラップされるため、Python のエンドユーザーがこのモジュールを直接呼び出す必要はありません。
ただし、Python のインストール時や仮想環境の作成時に pip のインストールを省略した場合や、pip を明示的にアンインストールした場合には、必要になることがあります。
注釈
このモジュールはインターネットに アクセスしません。pip のブートストラップに必要な全てはこのパッケージの一部として含まれています。
参考
- Installing Python modules
エンドユーザーが Python パッケージをインストールする際のガイドです。
- PEP 453: Python インストールの際の明示的なpipのブートストラッピング
このモジュールのもともとの論拠と仕様。
利用可能な環境: not Android, not iOS, not WASI.
このモジュールは モバイルプラットフォーム と WebAssemblyプラットフォーム をサポートしません。
Command-line interface¶
コマンドラインインターフェースを起動するには -m スイッチをつけてインタープリターを使用します。
最も簡単な起動方法は:
python -m ensurepip
この方法で起動すると、pip が未インストールならインストールし、インストール済みなら何もしません。
インストールされている pip を、ensurepip に同梱されたものと同じかそれより新しいバージョンにするには、--upgrade オプションを指定します。
python -m ensurepip --upgrade
デフォルトでは、pip は現在の仮想環境(もしアクティブなら)か、システムのサイトパッケージ(もしアクティブな仮想環境がなければ)にインストールされます。インストール先は2つの追加コマンドラインオプションで制御できます:
- --root <dir>¶
現在有効な仮想環境があればそのルート、なければ現在の Python のデフォルトのルートではなく、指定されたルートディレクトリを基準に
pipをインストールします。
- --user¶
現在の Python 環境全体ではなく、ユーザーの site-packages ディレクトリに
pipをインストールします (有効な仮想環境内ではこのオプションは使えません)。
デフォルトでは pipX と pipX.Y がインストールされます(X.Yは ensurepip を起動したPythonのバージョン)。インストールされるスクリプトは2つの追加コマンドラインオプションで制御できます:
- --altinstall¶
代替インストールを指定すると、
pipXスクリプトはインストール されません。
- --default-pip¶
「デフォルトの pip」のインストールを指定すると、通常の 2 つのスクリプトに加えて
pipスクリプトもインストールされます。
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ではその依存はなくなるかもしれませんので)。