Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonがpipインストーラーをブートストラップする


Pythonの標準ディストリビューションに組み込まれているモジュールとパッケージに加えて、サードパーティの開発者からの多数のパッケージがPython Package Index(https://pypi.org/)と呼ばれるPythonパッケージリポジトリにアップロードされます。ここからパッケージをインストールするには、 pipユーティリティが必要です。pipツールは独立したプロジェクトですが、Python 3.4以降、Pythonディストリビューションでブートストラップされています。

surepipモジュールは、Pythonの既存のインストールでpipをブートストラップするためのサポートを提供します。通常、ユーザーは明示的に使用する必要はありません。ただし、通常のインストールまたは仮想環境でpipのインストールがスキップされる場合は、それが必要になることがあります。

次のコマンドは、pipユーティリティがインストールされていない仮想環境を作成します。

C:\python37>python -m venv --without-pip e:\testenv

仮想環境ディレクトリの下のscriptsフォルダにはpipユーティリティが含まれていません。これで、ensurepipモジュールを使用して、システム全体のインストールでそのバージョンを使用してpipを組み込むことができます。最新バージョンには「--upgrade」を指定してください

E:\testenv>scripts\python -m ensurepip --upgrade
Looking in links: C:\Users\acer\AppData\Local\Temp\tmpp1bb2lym
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-18.1 setuptools-40.6.2

pipのデフォルトのインストールは、次のオプションで変更できます

  • -root

    −現在アクティブな仮想環境のルート(存在する場合)や現在のPythonインストールのデフォルトルートではなく、指定されたルートディレクトリを基準にしてpipをインストールします。

  • -ユーザー −現在のPythonインストールでは、グローバルではなく、ユーザーサイトのpackagesディレクトリにpipをインストールします(このオプションは、アクティブな仮想環境内では許可されていません)。

surepipモジュールは次の関数も定義しました

  • ensurepip.version() −環境をブートストラップするときにインストールされるpipのバンドルバージョンを指定する文字列を返します。

  • ensurepip.bootstrap() −ブートストラップは現在の環境または指定された環境にピップします。

ブートストラッププロセスは、sys.pathとos.environの両方に副作用があります。また、ブートストラッププロセスにより、pipに必要な追加のモジュールがインストールされる場合がありますが、他のソフトウェアは、これらの依存関係がデフォルトで常に存在すると想定するべきではありません


  1. Pythonでのリストの内部動作

    このチュートリアルでは、Python3.xでのリストの内部動作について学習します。またはそれ以前。また、各ステップでpythonステートメントを作成するときに、オブジェクトとフレームの形成についても見ていきます。 リストの初期化:これは、いくつかの要素を含むリストを作成していることを意味します。 >>> lis=[1,2,3,4] ここで、リスト変数は、上記のようにリストオブジェクトを参照しているグローバルフレームで宣言されています 次に、リストに要素を追加したときに何が起こったかを見てみましょう。 >>> lis.append(8) こ

  2. Pythonデバッガー(pdb)

    ソフトウェア開発の専門用語では、「デバッグ」という用語は、プログラム内のエラーを見つけて修正するプロセスに広く使用されています。 Pythonの標準ライブラリには、Pythonプログラムをデバッグするためのユーティリティのセットであるpdbモジュールが含まれています。 デバッグ機能はPdbクラスで定義されています。このモジュールは、内部でbdbモジュールとcmdモジュールを使用します。 pdbモジュールには、非常に便利なコマンドラインインターフェイスがあります。これは、Pythonスクリプトの実行時に–m switchを使用してインポートされます。 python –m pdb