27.2. surepip — pipインストーラーのブートストラップ—Pythonドキュメント
27.2。 surepip —ブートストラップpipインストーラ
バージョン2.7.9の新機能。
ensurepip パッケージは、pip
インストーラーを既存のPythonインストールまたは仮想環境にブートストラップするためのサポートを提供します。 このブートストラップアプローチは、pip
が独自のリリースサイクルを持つ独立したプロジェクトであり、利用可能な最新の安定バージョンがCPythonリファレンスインタープリターのメンテナンスリリースと機能リリースにバンドルされているという事実を反映しています。
ほとんどの場合、Pythonのエンドユーザーはこのモジュールを直接呼び出す必要はありません(pip
はデフォルトでブートストラップされる必要があるため)が、Pythonのインストール時にpip
のインストールがスキップされた場合は必要になることがあります(または仮想環境を作成する場合)またはpip
を明示的にアンインストールした後。
ノート
このモジュールはインターネットにアクセスしません。 pip
をブートストラップするために必要なすべてのコンポーネントは、パッケージの内部パーツとして含まれています。
も参照してください
- Pythonモジュールのインストール
- Pythonパッケージをインストールするためのエンドユーザーガイド
- PEP 453 :Pythonインストールでのpipの明示的なブートストラップ
- このモジュールの元の理論的根拠と仕様。
- PEP 477 :Ensurepip(PEP 453)をPython2.7にバックポートします
- PEP453をPython2.7にバックポートする理由と仕様。
27.2.1。 コマンドラインインターフェイス
コマンドラインインターフェイスは、インタプリタの-m
スイッチを使用して呼び出されます。
最も単純な呼び出しは次のとおりです。
python -m ensurepip
この呼び出しは、pip
がまだインストールされていない場合はインストールしますが、それ以外の場合は何もしません。 インストールされているpip
のバージョンが、少なくともensurepip
にバンドルされているバージョンと同じであるようにするには、--upgrade
オプションを渡します。
python -m ensurepip --upgrade
デフォルトでは、pip
は、現在の仮想環境(アクティブな場合)またはシステムサイトパッケージ(アクティブな仮想環境がない場合)にインストールされます。 インストール場所は、次の2つの追加コマンドラインオプションを使用して制御できます。
--root <dir>
:現在アクティブな仮想環境のルート(存在する場合)や現在のPythonインストールのデフォルトルートではなく、指定されたルートディレクトリを基準にしてpip
をインストールします。--user
:pip
を、現在のPythonインストールのグローバルではなく、ユーザーサイトのpackagesディレクトリにインストールします(このオプションは、アクティブな仮想環境内では許可されていません)。
デフォルトでは、スクリプトpip
、pipX
、およびpipX.Y
がインストールされます(XYは、ensurepip
の呼び出しに使用されるPythonのバージョンを表します)。 インストールされたスクリプトは、次の2つの追加コマンドラインオプションを使用して制御できます。
--altinstall
:代替インストールが要求された場合、pip
およびpipX
スクリプトはインストールされません。--no-default-pip
:デフォルト以外のインストールが要求された場合、pip
スクリプトはインストールされません。
バージョン2.7.15で変更:コマンドが失敗した場合、終了ステータスはゼロ以外です。
27.2.2。 モジュールAPI
ensurepip は、プログラムで使用するための2つの関数を公開しています。
- ensurepip.version()
- 環境をブートストラップするときにインストールされるpipのバンドルバージョンを指定する文字列を返します。
- ensurepip.bootstrap(root=None, upgrade=False, user=False, altinstall=False, default_pip=True, verbosity=0)
pip
を現在の環境または指定された環境にブートストラップします。root は、インストールする代替ルートディレクトリを指定します。 root が
None
の場合、インストールでは現在の環境のデフォルトのインストール場所が使用されます。upgrade は、以前のバージョンの
pip
の既存のインストールをバンドルバージョンにアップグレードするかどうかを示します。user は、グローバルにインストールするのではなく、ユーザースキームを使用するかどうかを示します。
デフォルトでは、スクリプト
pip
、pipX
、およびpipX.Y
がインストールされます(XYはPythonの現在のバージョンを表します)。altinstall が設定されている場合、
pip
とpipX
はインストールされません。default_pip が
False
に設定されている場合、pip
はインストールされません。altinstall と default_pip の両方を設定すると、
ValueError
がトリガーされます。verbosity は、ブートストラップ操作から sys.stdout への出力レベルを制御します。
ノート
ブートストラッププロセスには、
sys.path
とos.environ
の両方に副作用があります。 代わりに、サブプロセスでコマンドラインインターフェイスを呼び出すことで、これらの副作用を回避できます。ノート
ブートストラッププロセスは、
pip
に必要な追加モジュールをインストールする場合がありますが、他のソフトウェアは、これらの依存関係がデフォルトで常に存在すると想定すべきではありません(依存関係はpip
の将来のバージョンで削除される可能性があるため)。