28.2. ensurepip
— pip
インストーラのブートストラップ¶
バージョン 3.4 で追加.
ensurepip
パッケージは pip
インストーラを既にインストールされている Python 環境や仮想環境にブートストラップする助けになります。このブートストラップのアプローチは pip
が独立したリリースサイクルを持ち、最新の利用可能な安定版が CPython リファレンスインタープリタのメンテナンスリリースや feature リリースにバンドルされていることを反映しています。
ほとんどの場合、Python のエンドユーザーがこのモジュールを直接呼び出す必要はないでしょう(pip
はデフォルトでブートストラップされるからです)。しかし、もし Python のインストール時に pip
のインストールをスキップしたり、仮想環境を構築したり、明示的に pip
をアンインストールした場合、直接呼び出す必要があるかもしれません。
注釈
このモジュールはインターネットに アクセスしません。pip
のブートストラップに必要な全てはこのパッケージの一部として含まれています。
参考
- Python モジュールのインストール
- エンドユーザーが Python パッケージをインストールする際のガイドです。
- PEP 453: Python インストールの際の明示的なpipのブートストラッピング
- このモジュールのもともとの論拠と仕様。
28.2.1. コマンドラインインターフェイス¶
コマンドラインインターフェースを起動するには -m
スイッチをつけてインタープリターを使用します。
最も簡単な起動方法は:
python -m ensurepip
この起動方法は pip
をインストールします。既にインストールされていた場合は何もしません。インストールされた pip
のバージョンを ensurepip
にバンドルされているもののうち、できるだけ新しいものにするためには、--upgrade
オプションを追加して:
python -m ensurepip --upgrade
デフォルトでは、pip
は現在の仮想環境(もしアクティブなら)か、システムのサイトパッケージ(もしアクティブな仮想環境がなければ)にインストールされます。インストール先は2つの追加コマンドラインオプションで制御できます:
--root <dir>
: 現在のアクティブな仮想環境(もしあれば)の root や現在インストールされている Python の root ディレクトリに入れる代わりに、与えられたディレクトリを root としてpip
をインストールします。--user
: は、現在インストールされている Python にグローバルにインストールされる代わりに、ユーザーの site packages ディレクトリにpip
をインストールします(このオプションはアクティブな仮想環境のもとでは許可されません)。
デフォルトでは pipX
と pipX.Y
がインストールされます(X.Yは ensurepip
を起動したPythonのバージョン)。インストールされるスクリプトは2つの追加コマンドラインオプションで制御できます:
--altinstall
: alternate インストール。X.Y でバージョン付けされたものだけがインストールされます。--default-pip
: もし "default pip" のインストールが要求されたなら- この
pip
スクリプトは2つの標準スクリプトと共にインストールされます。
2つのスクリプト選択オプションを指定すると例外が発生します。
バージョン 3.6.3 で変更: コマンドが失敗した場合、終了ステータスは非ゼロです。
28.2.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
への出力の冗長レベルをコントロールします。注釈
ブートストラップ処理は
sys.path
,os.environ
の両方に対して副作用を持ちます。代わりに、サブプロセスとしてコマンドラインインターフェイスを使うことで、これら副作用を避けることが出来ます。注釈
ブートストラップ処理は
pip
によって必要とされるモジュールを追加インストールするかもしれませんが、ほかのソフトウェアはそれら依存物がいつもデフォルトで存在していることを仮定すべきではありません(将来のバージョンのpip
ではその依存はなくなるかもしれませんので)。