管理 Conda 软件包

在 Artifact Registry 中创建 Conda 代码库后,您就可以在新代码库中安装 Conda 软件包了。本页面介绍了如何安装、查看和删除 Conda 软件包。

准备工作

  1. 安装并初始化 Google Cloud CLI。

    您必须使用 Google Cloud CLI 354.0.0 或更高版本才能运行适用于 Conda 代码库的命令。您可以使用以下命令查看版本:

    gcloud version
    
  2. 如需在 Cloud de Confiance 环境中使用 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 环境中,并使用 Cloud de Confiance查看有关该软件包的详细信息。

将软件包添加到 Artifact Registry 代码库

如需向 Artifact Registry 代码库添加 Conda 软件包,请运行以下命令:

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。

对于标准制品库,您可以直接从制品库下载软件包。

对于远程仓库,您需要下载软件包及其依赖项的缓存副本。如果不存在缓存副本,远程仓库会从上游来源下载软件包并将其缓存,然后再提供给您。您可以查看代码库中的软件包列表,验证远程仓库是否已从上游来源检索到软件包。

查看软件包和版本

制品库模式:标准、远程

如需使用 Cloud de Confiance 控制台 或 gcloud 查看软件包和软件包版本,请执行以下操作:

控制台

  1. 在 Cloud de Confiance 控制台中打开代码库 页面。

    打开“代码库”页面

  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

替换以下值:

  • LOCATION:代码库的区域位置。
  • PROJECT:您的 Cloud de Confiance by S3NS 项目 ID。
  • REPOSITORY:存储映像的代码库的名称。
  • PACKAGE:软件包的名称。
  • VERSION:软件包的版本。

示例

请考虑以下软件包信息:

  • 项目:my-project
  • 代码库:my-repo
  • 代码库位置:u-france-east1
  • 套餐:my-app

以下命令会列出默认项目中位置 u-france-east1 内的代码库 my-repo 中的所有文件:

gcloud artifacts files list \
    --location=u-france-east1 \
    --repository=my-repo
以下命令列出了相应软件包版本 1.0 中的文件。

gcloud artifacts files list \
    --project=my-project \
    --location=u-france-east1 \
    --repository=my-repo \
    --package=my-app \
    --version=1.0

删除软件包和版本

制品库模式:标准、远程

您可以删除软件包及其所有版本,也可以删除特定版本。 已删除的软件包无法恢复。

在删除软件包或软件包版本之前,请确认您已在其中告知或解决任何重要依赖项。

如需删除软件包,请按如下所述操作:

控制台

  1. 在 Cloud de Confiance 控制台中打开代码库页面。

    打开“代码库”页面

  2. 在代码库列表中,点击相应代码库。

    软件包页面列出代码库中的软件包。

  3. 选择要删除的软件包。

  4. 点击删除。

  5. 在确认对话框中,点击删除。

gcloud

运行以下命令:

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

替换以下内容:

  • PACKAGE 是代码库中的软件包名称。
  • REPOSITORY 是代码库的名称。如果您配置了默认代码库,则可以省略此标志以使用默认值。
  • LOCATION 是代码库的区域位置。 使用此标志可查看特定位置的代码库。如果您配置了默认位置,则可以省略此标志以使用默认值。

--async 标志会导致命令立即返回,而无需等待正在进行的操作完成。

如需删除软件包的版本,请按如下所述操作:

控制台

  1. 在 Cloud de Confiance 控制台中打开代码库页面。

    打开“代码库”页面

  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 会删除所选软件包的缓存数据,包括软件包版本和文件。

后续步骤