次の方法で共有


Python パッケージ インデックス (PyPI) からパッケージを使用する

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

Azure Artifacts を使用すると、開発者は 1 つのフィードを使用して、独自のパッケージと、 PyPI.org などのパブリック レジストリからインストールされたパッケージをホストできます。アップストリーム ソースが有効になっている場合、Azure Artifacts は、コラボレーター以上によってアップストリーム ソースからインストールされたパッケージのコピーを自動的に保存します。 この記事では、プロジェクトを設定し、コマンド ラインを使用して Python パッケージ インデックス (PyPI) から Python パッケージを使用する手順について説明します。

前提条件

製品 必要条件
Azure DevOps - Azure DevOps 組織
- Azure DevOps プロジェクト
- Python ダウンロードしてインストールします。

新しいフィードを作成し、パブリック アップストリームを追加する

フィードがまだない場合は、次の手順に従ってフィードを作成し、アップストリーム ソースを有効にします。 それ以外の場合は、 次の手順 に進み、PyPI をアップストリーム ソースとして追加します。

  1. Azure DevOps にサインインし、プロジェクトに移動します。

  2. [ 成果物] を選択し、[ フィードの作成] を選択します。

  3. フィードのわかりやすい 名前 を入力し、 その可視性を設定します。 スコープを指定し、[アップストリーム ソース] チェックボックスをオンにして、パブリック レジストリのパッケージを含めます。

  4. 終わったら [作成] を選択します。

    必要なフィードを作成し、Azure Artifacts でアップストリーム ソースを有効にする方法を示すスクリーンショット。

PyPI アップストリームを追加する

フィードの作成時に アップストリーム ソース を有効にした場合、PyPI はアップストリーム ソースとして自動的に追加されているはずです。 それ以外の場合は、次の手順に従って手動で追加できます。

  1. Azure DevOps にサインインし、プロジェクトに移動します。

  2. [成果物] を選択し、歯車アイコン 歯車アイコン を選択して フィード設定を開きます。

  3. [ アップストリーム ソース] を選択し、[ アップストリームの追加] を選択します。

  4. [ パブリック ソース] を選択し、ドロップダウン リストから PyPI (https://pypi.org/) を選択します。

  5. [ 追加] を選択し、右上隅にある [保存] を選択して変更を適用します。

フィードで認証する

前提条件から Python がインストールされていることを確認し、次の手順に従ってフィードに接続します。

  1. 次のコマンドを実行して、Python パッケージ マネージャーをアップグレードします。

    python -m pip install --upgrade pip
    
  2. 次のコマンドを実行して、Azure Artifacts キーリングをインストールします。

    pip install keyring artifacts-keyring
    
  3. Azure DevOps で認証するために、PackagingRead のスコープを使用して、パーソナル アクセス トークンを作成します。 Azure DevOps に初めて接続すると、資格情報の入力を求められます。 ユーザー名の任意の値を入力し、パスワードとして PAT を使用します。 これらの資格情報はローカルにキャッシュされ、次回認証するときに再利用されます。

  4. プロジェクト ディレクトリに移動し、仮想環境を作成します。

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. 仮想環境で、 pip.ini ファイル (Windows) または pip.conf ファイル (macOS/Linux) を作成し、次のスニペットを追加します。 プレースホルダーを適切な値に置き換えます。 個人用アクセス トークンが含まれているので、このファイルをパブリック リポジトリにコミットしないでください。

    • プロジェクト範囲のフィード:

      [global]
      extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/pypi/simple/
      
    • 組織スコープのフィード:

      [global]
      extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/pypi/simple/
      

PyPI からパッケージをインストールする

フィードで認証したので、通常の pip と同様に、PyPI アップストリームからパッケージをインストールできます。 インストールしたすべてのパッケージは、Azure Artifacts フィードに自動的に保存されます。

この例では、Python 用の一般的な HTTP ライブラリである 要求をインストールします。

アップストリーム ソースからパッケージを保存するには、 フィードおよびアップストリーム 閲覧者 (コラボレーター) ロール以上が必要です。 詳細については、 アクセス許可の管理 に関するページを参照してください。

  1. コマンド プロンプトを開き、プロジェクト ディレクトリに移動し、仮想環境をアクティブにします。 プレースホルダーを、前に作成した仮想環境の名前に置き換えます。

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate
    
  2. 次のコマンドを実行して、PyPI から 要求パッケージを インストールします。

    pip install requests
    
  3. インストールが完了すると、Azure Artifacts によってパッケージのコピーがフィードに保存されます。 次のスクリーンショットに示すように、フィードに移動してパッケージが使用可能であることを確認します。

    PyPI アップストリームからインストールされた要求パッケージを示すスクリーンショット。