Conda パッケージを管理する

Artifact Registry で Conda リポジトリを作成すると、新しいリポジトリに Conda パッケージをインストールできるようになります。このページでは、Conda パッケージのインストール、表示、削除を行う方法について説明します。

始める前に

  1. Google Cloud CLI をインストールして初期化します。

    Conda リポジトリに対するコマンドを実行するには、Google Cloud CLI バージョン 354.0.0 以降が必要です。バージョンは、次のコマンドで確認できます。

    gcloud version
    
  2. Google Cloud 環境内で Conda CLI を使用するには、次のいずれかの Conda パッケージ マネージャーをインストールします。

  3. Artifact Registry に Conda リポジトリがない場合は、Conda パッケージ リポジトリを作成します。

  4. (省略可)gcloud コマンドのデフォルトを設定します。

Artifact Registry は、標準リモートの Conda リポジトリをサポートしています。リモート リポジトリには、次のいずれかのアドレスを使用できます。

  • https://repo.anaconda.com/pkgs/main
  • https://repo.anaconda.com/pkgs/r
  • https://repo.anaconda.com/pkgs/msys2
  • https://conda.anaconda.org/conda-forge
  • https://conda.anaconda.org/bioconda

必要なロール

Conda パッケージの管理に必要な権限を取得するには、リポジトリに対する次の IAM ロールの付与を管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

Conda パッケージを管理する

Conda パッケージを Artifact Registry リポジトリに追加したら、パッケージを Conda 環境にインストールし、 Google Cloudを使用してパッケージの詳細を表示できます。

Artifact Registry リポジトリにパッケージを追加する

Conda パッケージを Artifact Registry リポジトリに追加するには、次のコマンドを実行します。

gcloud artifacts files upload \
    --source=PACKAGE_NAME \
    --repository=REPO_NAME\
    --project=PROJECT \
    --location=LOCATION

ここで

  • REPO_NAME はリポジトリの ID です。
  • PROJECT は、リポジトリを含むプロジェクトの ID です。
  • LOCATION は、リポジトリのリージョンまたはマルチリージョンのロケーションです。

複数のパッケージを一度に追加するには:

gcloud artifacts files upload \
    --source-directory=DIRECTORY \
    --repository=REPO_NAME\
    --project=PROJECT \
    --location=LOCATION

ここで

  • DIRECTORY は、Conda パッケージを含むローカル フォルダのアドレスです。

パッケージをインストール

リポジトリ モード: 標準、リモート

パッケージの最新の安定版リリースを Conda 環境にインストールするには、次のコマンドを実行します。

Conda

conda install -n ENVIRONMENT_NAME PACKAGE_NAME

Miniforge

conda install -n ENVIRONMENT_NAME PACKAGE_NAME

Mamba

mamba install -n ENVIRONMENT_NAME PACKAGE_NAME

Micromamba

micromamba install -n ENVIRONMENT_NAME PACKAGE_NAME

ここで

  • ENVIRONMENT_NAME は、Conda 環境の名前です。環境がすでに有効になっていて、環境にパッケージを直接インストールする場合は、-n ENVIRONMENT_NAME を省略できます。
  • PACKAGE_NAME は、Conda パッケージの名前です。

    Conda 環境に特定のバージョンのパッケージをインストールするには、パッケージ名の後に VERSION を含めます。

標準リポジトリの場合は、リポジトリからパッケージを直接ダウンロードします。

リモート リポジトリの場合は、パッケージとその依存関係のキャッシュに保存されたコピーをダウンロードします。キャッシュに保存されたコピーが存在しない場合は、リモート リポジトリがアップストリーム ソースからパッケージをダウンロードし、それを提供する前にキャッシュに保存します。リモート リポジトリがアップストリーム ソースからパッケージを取得したことを確認するには、リポジトリ内のパッケージの一覧を表示します。

パッケージとバージョンを表示する

リポジトリ モード: 標準、リモート

Google Cloud コンソールまたは gcloud を使用してパッケージとパッケージのバージョンを表示するには:

コンソール

  1. Google Cloud コンソールで [リポジトリ] ページを開きます。

    [リポジトリ] ページを開く

  2. リポジトリ リストで、適切なリポジトリをクリックします。

    [パッケージ] ページに、リポジトリ内のパッケージが一覧表示されます。

  3. パッケージをクリックして、そのパッケージのバージョンを表示します。

gcloud

リポジトリ内のパッケージを一覧表示するには、次のコマンドを実行します。

gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]

以下を置き換えます。

  • REPOSITORY はリポジトリの名前です。デフォルト リポジトリを構成した場合は、このフラグを省略してデフォルトを使用できます。
  • LOCATION は、リポジトリのリージョンまたはマルチリージョンのロケーションです。 デフォルト ロケーションを構成している場合は、このフラグを省略してデフォルトを使用できます。

パッケージのバージョンを表示するには、次のコマンドを実行します。

gcloud artifacts versions list --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION]

以下を置き換えます。

  • PACKAGE は、パッケージの ID またはパッケージの完全修飾識別子です。
  • REPOSITORY はリポジトリの名前です。デフォルト リポジトリを構成した場合は、このフラグを省略してデフォルトを使用できます。
  • LOCATION は、リポジトリのリージョンまたはマルチリージョンのロケーションです。 このフラグを使用して、特定のロケーションのリポジトリを表示します。デフォルト ロケーションを構成している場合は、このフラグを省略してデフォルトを使用できます。

リモート リポジトリの場合、返されるリストにはキャッシュに保存されたパッケージのみが表示されます。

ファイルの一覧表示

リポジトリ モード: 標準、リモート

リモート リポジトリの場合、返されるリストには、キャッシュに保存された Conda パッケージとインデックス ファイルのみが表示されます。

リポジトリ内のファイル、指定したパッケージのすべてのバージョン内のファイル、またはパッケージの特定のバージョン内のファイルを一覧表示できます。

次のすべてのコマンドについては、コマンドに --limit フラグを追加することで、返されるファイルの最大数を設定できます。

デフォルト値が構成されている場合にデフォルトのプロジェクト、リポジトリ、ロケーションのすべてのファイルを一覧表示するには次のようにします。

gcloud artifacts files list

指定したプロジェクト、リポジトリ、ロケーション内のファイルを一覧表示するには、次のコマンドを実行します。

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION

特定のパッケージのすべてのバージョン内のファイルを一覧表示するには:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE

特定のパッケージ バージョンのファイルを一覧表示するには:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --version=VERSION

次の値を置き換えます。

次のパッケージ情報について考慮するには:

  • プロジェクト: my-project
  • リポジトリ: my-repo
  • リポジトリの場所: us-west1
  • パッケージ: my-app

次のコマンドは、デフォルト プロジェクト内のロケーション us-west1 のリポジトリ my-repo 内のすべてのファイルを一覧表示します。

gcloud artifacts files list \
    --location=us-west1 \
    --repository=my-repo
パッケージのバージョン 1.0 内のファイルを一覧表示します。

gcloud artifacts files list \
    --project=my-project \
    --location=us-west1 \
    --repository=my-repo \
    --package=my-app \
    --version=1.0

パッケージとバージョンを削除する

リポジトリ モード: 標準、リモート

パッケージとそのすべてのバージョンを削除することや、特定のバージョンを削除することができます。削除したパッケージは復元できません。

パッケージまたはパッケージのバージョンを削除する前に、そのパッケージの重要な依存関係を送信済み、または対処済みであることを確認してください。

パッケージを削除するには:

コンソール

  1. Google Cloud コンソールで [リポジトリ] ページを開きます。

    [リポジトリ] ページを開く

  2. リポジトリ リストで、適切なリポジトリをクリックします。

    [パッケージ] ページに、リポジトリ内のパッケージが一覧表示されます。

  3. 削除するパッケージを選択します。

  4. [削除] をクリックします。

  5. 確認のダイアログ ボックスで、[削除] をクリックします。

gcloud

次のコマンドを実行します。

gcloud artifacts packages delete PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION] [--async]

以下を置き換えます。

  • PACKAGE は、リポジトリ内のイメージの名前です。
  • REPOSITORY はリポジトリの名前です。デフォルト リポジトリを構成した場合は、このフラグを省略してデフォルトを使用できます。
  • LOCATION は、リポジトリのリージョンまたはマルチリージョンのロケーションです。 このフラグを使用して、特定のロケーションのリポジトリを表示します。デフォルト ロケーションを構成している場合は、このフラグを省略してデフォルトを使用できます。

--async フラグを指定すると、実行中のオペレーションの完了を待たずに、コマンドがすぐに返されます。

パッケージのバージョンを削除するには:

コンソール

  1. Google Cloud コンソールで [リポジトリ] ページを開きます。

    [リポジトリ] ページを開く

  2. リポジトリ リストで、適切なリポジトリをクリックします。

    [パッケージ] ページに、リポジトリ内のパッケージが一覧表示されます。

  3. パッケージをクリックして、そのパッケージのバージョンを表示します。

  4. 削除するバージョンを指定します。

  5. [削除] をクリックします。

  6. 確認のダイアログ ボックスで、[削除] をクリックします。

gcloud

次のコマンドを実行します。

gcloud artifacts versions delete VERSION \
    --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION] \
    [--async]

以下を置き換えます。

  • VERSION は、削除するバージョンの名前です。
  • PACKAGE は、リポジトリ内のイメージの名前です。
  • REPOSITORY はリポジトリの名前です。デフォルト リポジトリを構成した場合は、このフラグを省略してデフォルトを使用できます。
  • LOCATION は、リポジトリのリージョンまたはマルチリージョンのロケーションです。 このフラグを使用して、特定のロケーションのリポジトリを表示します。デフォルト ロケーションを構成している場合は、このフラグを省略してデフォルトを使用できます。

--async フラグを指定すると、実行中のオペレーションの完了を待たずに、コマンドがすぐに返されます。

リモート リポジトリの場合、Artifact Registry は、パッケージ バージョンやファイルなど、選択したパッケージのキャッシュ保存データを削除します。

次のステップ