ensurepip --- pip インストーラーのブートストラップ¶
Added in version 3.4.
ソースコード: Lib/ensurepip
ensurepip パッケージは pip インストーラを既にインストールされている Python 環境や仮想環境にブートストラップする助けになります。このブートストラップのアプローチは pip が独立したリリースサイクルを持ち、最新の利用可能な安定版が CPython リファレンスインタープリタのメンテナンスリリースや feature リリースにバンドルされていることを反映しています。
ほとんどの場合、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 Requirements for optional modules.
参考
- Python モジュールのインストール
エンドユーザーが Python パッケージをインストールする際のガイドです。
- PEP 453: Python インストールの際の明示的なpipのブートストラッピング
このモジュールのもともとの論拠と仕様。
Availability: not Android, not iOS, not WASI.
This module is not supported on mobile platforms or WebAssembly platforms.
コマンドラインインターフェイス¶
コマンドラインインターフェースを起動するには -m スイッチをつけてインタープリターを使用します。
最も簡単な起動方法は:
python -m ensurepip
この起動方法は pip をインストールします。既にインストールされていた場合は何もしません。インストールされた pip のバージョンを ensurepip で利用できるもののうち、できるだけ新しいものにするためには、--upgrade オプションを追加して:
python -m ensurepip --upgrade
デフォルトでは、pip は現在の仮想環境(もしアクティブなら)か、システムのサイトパッケージ(もしアクティブな仮想環境がなければ)にインストールされます。インストール先は2つの追加コマンドラインオプションで制御できます:
- --root <dir>¶
Installs
piprelative 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
pipinto 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
pipXscript will not be installed.
- --default-pip¶
If a "default pip" installation is requested, the
pipscript 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ではその依存はなくなるかもしれませんので)。