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 をアップストリーム ソースとして追加します。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[成果物] を選択し、[フィードの作成] を選択して新しいフィードを作成します。
フィードのわかりやすい 名前 を入力し、その 可視性 を定義します (フィード内でパッケージを表示できるユーザーを示します)。 フィードのスコープを指定し、[アップストリーム ソース] チェックボックスをチェックして、パブリック レジストリからのパッケージを含めます。
完了したら [作成] を選択します。
PyPI アップストリームを追加する
フィードの作成時にアップストリーム ソース チェックボックスを選択した場合、PyPI はアップストリーム ソースとして自動的に含まれているはずです。 そうでない場合は、次の手順に従って手動で追加できます。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[成果物] を選択し、歯車アイコン
を選択してフィード 設定に移動します。
[アップストリーム ソース] を選択し、[アップストリームの追加] を選択して新しいアップストリーム ソースを追加します。
[パブリック ソース] を選択し、ドロップダウン メニューから PyPI (https://pypi.org/) を選択します。
完了したら [保存] を選択し、右上隅にある [もう 1 回保存] を選択して変更を保存します。
フィードで認証する
Python がダウンロードされていることを確認し、次のコマンドを実行して Python パッケージ マネージャーをアップグレードします。
python -m pip install --upgrade pip
次のコマンドを実行して、Azure Artifacts キーリングをインストールします。
pip install keyring artifacts-keyring
パッケージ>化読み取りスコープを使用して個人用アクセス トークンを作成し、Azure DevOps で認証します。 Azure DevOps に初めて接続するときは、プロンプトが表示されたら資格情報を入力する必要があります。 指定されたフィールドにユーザー名 (任意の文字列) と個人用アクセス トークンを指定します。 これらの資格情報はローカルにキャッシュされ、次回サービスを使用するときにサインインするために自動的に使用されます。
プロジェクト フォルダーに移動し、次のコマンドを実行して新しい仮想環境を作成します。
python -m venv <VIRTUAL_ENVIRONMENT_NAME>
仮想環境に新しい 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
します。
コマンド プロンプト ウィンドウで、プロジェクト フォルダーに移動し、次のコマンドを実行して仮想環境をアクティブ化します。 プレースホルダーを、前に作成した仮想環境の名前に置き換えます。
<YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
次のコマンドを実行して、仮想環境にインストールされているパッケージをチェックします。
pip list
次のコマンドを実行して Flask をインストールします。
pip install -U Flask
パッケージがインストールされると、Azure Artifacts によってこのパッケージのコピーがフィードに保存されます。 次のスクリーンショットに示すように、フィードでパッケージを使用できる必要があります。