次の方法で共有


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

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

開発者は、Azure Artifacts を使用して、Azure Artifacts フィードや外部レジストリ (pypi.org など) からパッケージを発行および使用できます。この記事では、プロジェクトを設定し、コマンド ラインを使用して PyPI から Python パッケージを効率的に使用する方法について説明します。

この記事では、次の方法について学習します。

  • フィードのアップストリーム ソースを有効にする
  • アップストリーム ソースとして PyPI を追加する
  • プロジェクトをセットアップする
  • Python パッケージ インデックスからパッケージをインストールする

前提条件

  • Azure DevOps organizationとプロジェクト。 まだ作成していない場合は、organizationまたはプロジェクトを作成します。

  • Azure Artifacts フィード。

  • Python をダウンロード します

アップストリーム ソースを有効にする

フィードをまだ作成していない場合は、次の手順に従って新しいフィードを作成します。 アップストリーム ソースを有効にするには、アップストリーム ソースボックスを必ずチェックしてください。 フィードが既にある場合は、次の 手順 に進み、PyPI をアップストリーム ソースとして追加します。

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

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

  3. フィードのわかりやすい 名前 を入力し、その 可視性 を定義します (フィード内でパッケージを表示できるユーザーを示します)。 フィードのスコープを指定し、[アップストリーム ソース] チェックボックスをチェックして、パブリック レジストリからのパッケージを含めます。

  4. 完了したら [作成] を選択します。

    A screenshot showing how to create a need feed.

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

フィードの作成時にアップストリーム ソース チェックボックスを選択した場合、PyPI はアップストリーム ソースとして自動的に含まれているはずです。 そうでない場合は、次の手順に従って手動で追加できます。

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

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

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

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

  5. 完了したら [保存] を選択し、右上隅にある [もう 1 回保存] を選択して変更を保存します。

フィードで認証する

  1. Python がダウンロードされていることを確認し、次のコマンドを実行して Python パッケージ マネージャーをアップグレードします。

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

    pip install keyring artifacts-keyring
    
  3. パッケージ>化読み取りスコープを使用して個人用アクセス トークンを作成し、Azure DevOps で認証します。 Azure DevOps に初めて接続するときは、プロンプトが表示されたら資格情報を入力する必要があります。 指定されたフィールドにユーザー名 (任意の文字列) と個人用アクセス トークンを指定します。 これらの資格情報はローカルにキャッシュされ、次回サービスを使用するときにサインインするために自動的に使用されます。

  4. プロジェクト フォルダーに移動し、次のコマンドを実行して新しい仮想環境を作成します。

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. 仮想環境に新しい pip.ini ファイル (Windows) または pip.conf ファイル (Mac/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 からパッケージをインストールする

フィードで認証するようにプロジェクトを構成したので、PyPI アップストリームからのパッケージのインストールを開始できます。 この例では、次をインストール Flaskします。

  1. コマンド プロンプト ウィンドウで、プロジェクト フォルダーに移動し、次のコマンドを実行して仮想環境をアクティブ化します。 プレースホルダーを、前に作成した仮想環境の名前に置き換えます。

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
    
  2. 次のコマンドを実行して、仮想環境にインストールされているパッケージをチェックします。

    pip list
    
  3. 次のコマンドを実行して Flask をインストールします。

    pip install -U Flask
    
  4. パッケージがインストールされると、Azure Artifacts によってこのパッケージのコピーがフィードに保存されます。 次のスクリーンショットに示すように、フィードでパッケージを使用できる必要があります。

    A screenshot showing packages installed from PyPI upstream.