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 をアップストリーム ソースとして追加します。
Azure DevOps にサインインし、プロジェクトに移動します。
[ 成果物] を選択し、[ フィードの作成] を選択します。
フィードのわかりやすい 名前 を入力し、 その可視性を設定します。 スコープを指定し、[アップストリーム ソース] チェックボックスをオンにして、パブリック レジストリのパッケージを含めます。
終わったら [作成] を選択します。
PyPI アップストリームを追加する
フィードの作成時に アップストリーム ソース を有効にした場合、PyPI はアップストリーム ソースとして自動的に追加されているはずです。 それ以外の場合は、次の手順に従って手動で追加できます。
Azure DevOps にサインインし、プロジェクトに移動します。
[成果物] を選択し、歯車アイコン
を選択して フィード設定を開きます。[ アップストリーム ソース] を選択し、[ アップストリームの追加] を選択します。
[ パブリック ソース] を選択し、ドロップダウン リストから PyPI (https://pypi.org/) を選択します。
[ 追加] を選択し、右上隅にある [保存] を選択して変更を適用します。
フィードで認証する
前提条件から Python がインストールされていることを確認し、次の手順に従ってフィードに接続します。
次のコマンドを実行して、Python パッケージ マネージャーをアップグレードします。
python -m pip install --upgrade pip次のコマンドを実行して、Azure Artifacts キーリングをインストールします。
pip install keyring artifacts-keyringAzure DevOps で認証するために、Packaging と Read のスコープを使用して、パーソナル アクセス トークンを作成します。 Azure DevOps に初めて接続すると、資格情報の入力を求められます。 ユーザー名の任意の値を入力し、パスワードとして PAT を使用します。 これらの資格情報はローカルにキャッシュされ、次回認証するときに再利用されます。
プロジェクト ディレクトリに移動し、仮想環境を作成します。
python -m venv <VIRTUAL_ENVIRONMENT_NAME>仮想環境で、 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 ライブラリである 要求をインストールします。
注
アップストリーム ソースからパッケージを保存するには、 フィードおよびアップストリーム 閲覧者 (コラボレーター) ロール以上が必要です。 詳細については、 アクセス許可の管理 に関するページを参照してください。
コマンド プロンプトを開き、プロジェクト ディレクトリに移動し、仮想環境をアクティブにします。 プレースホルダーを、前に作成した仮想環境の名前に置き換えます。
<YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate次のコマンドを実行して、PyPI から 要求パッケージを インストールします。
pip install requestsインストールが完了すると、Azure Artifacts によってパッケージのコピーがフィードに保存されます。 次のスクリーンショットに示すように、フィードに移動してパッケージが使用可能であることを確認します。