クイック スタート: コマンド ラインを使用して Azure Artifacts で Python パッケージを発行して使用する (CLI)

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

このクイック スタートでは、Azure Artifacts フィードを作成し、フィードを使用して、ローカル開発環境のコマンド ラインから Python パッケージを発行および使用する方法について説明します。 完了すると、フィードに公開され、フィードからローカル開発環境にインストールされた Python パッケージが作成されます。

Azure Pipelines でパッケージを発行して使用するには、「Azure Pipelines を使用して Python パッケージを発行する」を参照してください

前提条件

次の手順を実行するには、次のものが必要です。

  • Azure DevOps 組織。 無料で作成できます
  • パッケージ化読み取り>スコープを持つ個人用アクセス トークン (PAT)。 作成するには、「PAT を作成する」を参照してください
  • Azure DevOps プロジェクト。 プロジェクトがない場合は、 プロジェクトを作成します。
  • ローカル コンピューターにインストールされている Python 3.8 以降。 Python はここからダウンロードできます
  • pip 19.2 および twine 1.13.0 以降。
  • ローカル コンピューターからフィードに発行する Python パッケージ。
  • サンプル Python パッケージを使用している場合:
    • GitHub アカウント。 GitHub アカウントをまだお持ちでない場合は、無料の GitHub アカウントを作成できます。
    • git がローカル コンピューターにインストールされている。
  • GitHub アカウント。 GitHub アカウントをまだお持ちでない場合は、無料の GitHub アカウントを作成できます。
  • Azure DevOps Server コレクションへのアクセス。
  • パッケージ化読み取り>スコープを持つ個人用アクセス トークン (PAT)。 作成するには、「PAT を作成する」を参照してください
  • Azure DevOps プロジェクト。 プロジェクトがない場合は、 プロジェクトを作成します。
  • ローカル開発環境にインストールされている Python 3.8 以降。
  • pip 19.2 および twine 1.13.0 以降。
  • サンプル Python パッケージを使用している場合:
    • GitHub アカウント。 GitHub アカウントをまだお持ちでない場合は、無料の GitHub アカウントを作成できます。
    • git がローカル コンピューターにインストールされている。

ローカル Python パッケージを作成する

フィードに発行するには Python パッケージが必要です。 発行するパッケージがない場合は、GitHub からサンプル Python パッケージを複製できます。

サンプル Python パッケージを複製する

GitHub のサンプル Python パッケージを使用するには、次の手順に従います。

  1. 次の GitHub リポジトリに移動します。

    https://github.com/microsoft/python-package-template
    
  2. GitHub アカウントにリポジトリをフォークする。

  3. フォークしたリポジトリに移動し、[コード] を選択します

  4. フォークしたリポジトリの URL をコピーします。

  5. ローカル コンピューター上の CLI から、フォークしたリポジトリからコピーした URL を使用して、次のコマンドを使用してリポジトリを複製します。

    git clone <REPOSITORY_URL>
    
  6. 複製されたリポジトリにディレクトリを変更します。

    cd python-package-template
    

パッケージをビルドする

ホイールとソース配布をビルドするには、プロジェクト ディレクトリで次のコマンドを実行します。

pip install --upgrade build
python -m build

Python プロジェクトにファイルがある場合は setup.py 、次のコマンドを使用してパッケージをビルドできます。

python setup.py sdist bdist_wheel

フィードの作成

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

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

    A screenshot showing how to create a feed.

  3. フィードに次の情報を入力します。

    1. フィードのわかりやすい 名前 を入力します。
    2. その可視性定義します (フィード内でパッケージを表示できるユーザーを示します)。
    3. pypi.org などのパブリック ソースのパッケージを使用するかどうかを選択します。
    4. フィードの スコープ を指定します。
  4. [作成] を選択します

  1. Azure DevOps コレクションに移動し、プロジェクトを選択します。

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

    A screenshot showing how to create a feed in DevOps Server.

  3. フィードに次の情報を入力します。

    1. フィードのわかりやすい 名前 を入力します。
    2. その可視性定義します (フィード内でパッケージを表示できるユーザーを示します)。
    3. pypi.org などのパブリック ソースのパッケージを使用するかどうかを選択します。
    4. フィードの スコープ を指定します。
  4. [作成] を選択します

  1. Azure DevOps コレクションに移動し、プロジェクトを選択します。

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

  3. フィードに次の情報を入力します。

    1. フィードのわかりやすい 名前 を入力します。
    2. その可視性定義します (フィード内でパッケージを表示できるユーザーを示します)。
    3. pypi.org などのパブリック ソースのパッケージを使用するかどうかを選択します。
    4. フィードの スコープ を指定します。
  4. [作成] を選択します

  1. Azure DevOps コレクションに移動し、プロジェクトを選択します。

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

  3. フィードに次の情報を入力します。

    1. フィードのわかりやすい 名前 を入力します。
    2. その可視性定義します (フィード内でパッケージを表示できるユーザーを示します)。
    3. pypi.org などのパブリック ソースのパッケージを使用するかどうかを選択します。
  4. [作成] を選択します

フィードにパッケージを発行する

Twine を使用して、パッケージを Azure Artifacts フィードにアップロードします。

  1. Azure DevOps プロジェクトに移動し、[成果物] を選択します

  2. フィードを選択し、[フィードに接続] を選択 します

    A screenshot highlighting the connect to feed.

  3. [Python] セクションで [twine] を選択します。

    A screenshot highlighting the twine package type.

  4. 開発用コンピューターに、twine がインストールされていることを確認します。

    pip install --upgrade twine
    
  5. 「プロジェクトのセットアップ」セクションの指示に従って、ファイルを設定します.pypirc

    A screenshot highlighting the `.pyirc` content.

  6. パッケージを発行するたびに個人用アクセス トークンを入力する必要がないように、資格情報をファイルに .pypirc 追加できます。 個人用アクセス トークンをパブリック リポジトリにチェックしていないことを確認します。

    資格情報を持 .pypirc つファイルの例:

    [distutils]
    Index-servers =
        <FEED_NAME>
    
    [<FEED_NAME>]
    Repository = <FEED_URL>
    username = <FEED_NAME>
    password = <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. パッケージをアップロードするには、F Enterprise Edition D_NAME> をフィード名に置き換えて<、プロジェクト ディレクトリで次のコマンドを実行します。 Windows では、引数を使用してファイルの場所--config-file.pypirc指定することが必要になる場合があります。

    twine upload --repository <FEED_NAME> dist/*
    

フィードからパッケージをインストールする

  1. Azure DevOps プロジェクトに移動し、[成果物] を選択します

  2. フィードを選択し、[フィードに接続] を選択 します

    A screenshot highlighting the connect to feed button.

  3. [Python] セクションで [pip] を選択します。

    A screenshot highlighting the pip package type.

  4. ローカル Python 環境を準備します。

    1. pip がインストールされ、最新であることを確認します。

      python -m pip install --upgrade pip
      
    2. Python 仮想環境を作成してアクティブ化します。

      python -m venv myenv
      myenv/Scripts/activate
      
  5. pip.ini (Windows) または pip.conf (Mac/Linux) ファイルを仮想環境のルート ディレクトリに追加します。 [フィードに接続] ダイアログの [プロジェクトのセットアップ] セクションからコンテンツをコピーし、pip.iniまたは pip.conf ファイルに追加します。

    A screenshot highlighting the pip.ini file content.

  6. フィードからパッケージをインストールするたびに個人用アクセス トークンを入力する必要がないように、資格情報を pip.ini または pip.conf ファイルに追加できます。 個人用アクセス トークンをパブリック リポジトリにチェックしていないことを確認します。

    資格情報を持つ pip.ini または pip.conf ファイルの例:

    [global]
    extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
    
  7. パッケージをインストールするには、PACKAGE_NAMEをフィードのパッケージ名に置き換えて<>、次のコマンドを実行します。

    pip install <PACKAGE_NAME>
    

リソースをクリーンアップする

作成したリソースが完了したら、それらを削除して料金が発生しないようにすることができます。 プロジェクトを削除すると、そのプロジェクト レベルのすべての成果物フィードが削除されます。

プロジェクトを削除するには:

  1. [プロジェクトの設定] を選択します。
  2. [プロジェクトの詳細] ページで、ページの下部にある [削除] を選択します。
  3. 確認するプロジェクトの名前を入力し、[削除] を選択 します

フィードのみを削除する場合:

  1. [ 成果物] を選択し、ドロップダウン メニューからフィードを選択します。
  2. 設定ボタンを選択します。
  3. [フィードの設定] タブで、[フィードの削除] を選択します
  4. [削除] ボタンを選択して確定します。

ローカル開発環境をクリーンするには:

  1. 仮想環境を非アクティブ化するには、次のコマンドを実行します。

    deactivate
    
  2. 仮想環境を削除するには、仮想環境が作成されたディレクトリを削除します。

  3. .pypircホーム ディレクトリからファイルを削除します。

サンプル Python パッケージを複製した場合は、ローカル コンピューターと GitHub アカウントからリポジトリを削除できます。

次のステップ