在 Artifact Registry 中创建 Conda 仓库后,您就可以在新仓库中安装 Conda 软件包了。 本页面介绍了如何安装、查看和删除 Conda 软件包。
准备工作
-
您需要使用 Google Cloud CLI 354.0.0 或更高版本才能运行 Conda 仓库的命令。您可以使用以下命令检查版本:
gcloud version 如需在 Google 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 Reader (
roles/artifactregistry.reader) -
下载或安装软件包:Artifact Registry Reader (
roles/artifactregistry.reader) -
向仓库添加软件包:Artifact Registry Writer (
roles/artifactregistry.writer) -
删除软件包:Artifact Registry Repository Administrator (
roles/artifactregistry.repoAdmin)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
管理 Conda 软件包
将 Conda 软件包添加到 Artifact Registry 仓库后,您可以使用 Google Cloud将该软件包安装到 Conda 环境中,并查看该软件包的详细信息。
将软件包添加到 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 会删除所选软件包(包括软件包版本和文件)的缓存数据。