Artifact Registry で Conda リポジトリを作成すると、新しいリポジトリに Conda パッケージをインストールできるようになります。このページでは、Conda パッケージのインストール、表示、削除を行う方法について説明します。
始める前に
Google Cloud CLI をインストールして初期化します。
Conda リポジトリに対するコマンドを実行するには、Google Cloud CLI バージョン 354.0.0 以降が必要です。バージョンは、次のコマンドで確認できます。
gcloud versionGoogle Cloud 環境内で Conda CLI を使用するには、次のいずれかの Conda パッケージ マネージャーをインストールします。
Artifact Registry に Conda リポジトリがない場合は、Conda パッケージ リポジトリを作成します。
(省略可)gcloud コマンドのデフォルトを設定します。
Artifact Registry は、標準とリモートの Conda リポジトリをサポートしています。リモート リポジトリには、次のいずれかのアドレスを使用できます。
https://repo.anaconda.com/pkgs/mainhttps://repo.anaconda.com/pkgs/rhttps://repo.anaconda.com/pkgs/msys2https://conda.anaconda.org/conda-forgehttps://conda.anaconda.org/bioconda
必要なロール
Conda パッケージの管理に必要な権限を取得するには、リポジトリに対する次の IAM ロールの付与を管理者に依頼してください。
-
パッケージまたはパッケージ内のファイルを表示する: Artifact Registry 読み取り (
roles/artifactregistry.reader) -
パッケージをダウンロードまたはインストールする: Artifact Registry 読み取り (
roles/artifactregistry.reader) -
リポジトリにパッケージを追加する: Artifact Registry 書き込み (
roles/artifactregistry.writer) -
パッケージを削除する: Artifact Registry リポジトリ管理者 (
roles/artifactregistry.repoAdmin)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
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 を使用してパッケージとパッケージのバージョンを表示するには:
コンソール
Google Cloud コンソールで [リポジトリ] ページを開きます。
リポジトリ リストで、適切なリポジトリをクリックします。
[パッケージ] ページに、リポジトリ内のパッケージが一覧表示されます。
パッケージをクリックして、そのパッケージのバージョンを表示します。
gcloud
リポジトリ内のパッケージを一覧表示するには、次のコマンドを実行します。
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
以下を置き換えます。
REPOSITORYはリポジトリの名前です。デフォルト リポジトリを構成した場合は、このフラグを省略してデフォルトを使用できます。-
LOCATIONは、リポジトリのリージョンまたはマルチリージョンのロケーションです。 デフォルト ロケーションを構成している場合は、このフラグを省略してデフォルトを使用できます。
パッケージのバージョンを表示するには、次のコマンドを実行します。
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=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
次の値を置き換えます。
LOCATION: リポジトリのリージョンまたはマルチリージョン ロケーション。PROJECT: Google Cloud プロジェクト ID。プロジェクト ID にコロン(:)が含まれている場合は、ドメインをスコープとするプロジェクトをご覧ください。REPOSITORY: イメージが保存されるリポジトリの名前。PACKAGE: パッケージの名前。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
パッケージとバージョンを削除する
リポジトリ モード: 標準、リモート
パッケージとそのすべてのバージョンを削除することや、特定のバージョンを削除することができます。削除したパッケージは復元できません。
パッケージまたはパッケージのバージョンを削除する前に、そのパッケージの重要な依存関係を送信済み、または対処済みであることを確認してください。
パッケージを削除するには:
コンソール
Google Cloud コンソールで [リポジトリ] ページを開きます。
リポジトリ リストで、適切なリポジトリをクリックします。
[パッケージ] ページに、リポジトリ内のパッケージが一覧表示されます。
削除するパッケージを選択します。
[削除] をクリックします。
確認のダイアログ ボックスで、[削除] をクリックします。
gcloud
次のコマンドを実行します。
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
以下を置き換えます。
PACKAGEは、リポジトリ内のイメージの名前です。REPOSITORYはリポジトリの名前です。デフォルト リポジトリを構成した場合は、このフラグを省略してデフォルトを使用できます。-
LOCATIONは、リポジトリのリージョンまたはマルチリージョンのロケーションです。 このフラグを使用して、特定のロケーションのリポジトリを表示します。デフォルト ロケーションを構成している場合は、このフラグを省略してデフォルトを使用できます。
--async フラグを指定すると、実行中のオペレーションの完了を待たずに、コマンドがすぐに返されます。
パッケージのバージョンを削除するには:
コンソール
Google Cloud コンソールで [リポジトリ] ページを開きます。
リポジトリ リストで、適切なリポジトリをクリックします。
[パッケージ] ページに、リポジトリ内のパッケージが一覧表示されます。
パッケージをクリックして、そのパッケージのバージョンを表示します。
削除するバージョンを指定します。
[削除] をクリックします。
確認のダイアログ ボックスで、[削除] をクリックします。
gcloud
次のコマンドを実行します。
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
以下を置き換えます。
VERSIONは、削除するバージョンの名前です。PACKAGEは、リポジトリ内のイメージの名前です。REPOSITORYはリポジトリの名前です。デフォルト リポジトリを構成した場合は、このフラグを省略してデフォルトを使用できます。-
LOCATIONは、リポジトリのリージョンまたはマルチリージョンのロケーションです。 このフラグを使用して、特定のロケーションのリポジトリを表示します。デフォルト ロケーションを構成している場合は、このフラグを省略してデフォルトを使用できます。
--async フラグを指定すると、実行中のオペレーションの完了を待たずに、コマンドがすぐに返されます。
リモート リポジトリの場合、Artifact Registry は、パッケージ バージョンやファイルなど、選択したパッケージのキャッシュ保存データを削除します。