教程#

在开发周期中使用标签#

Anaconda Enterprise 4 Repository labels 可以用来促进开发周期,并组织开发中、测试中和生产中的代码,而不会影响非开发用户。

在本教程中,我们将展示如何使用“test”标签,以便您可以上传文件,而不会影响您的生产质量包。如果没有 --label 参数,则默认标签为“main”。

  1. 您需要从 conda 包开始。如果您没有,请使用我们的示例 conda 包。在构建包之前,请编辑 anaconda-client/example-packages/conda/meta.yaml 文件中的版本为 2.0

    git clone https://github.com/anaconda-platform/anaconda-client
    cd anaconda-client/example-packages/conda/
    nano meta.yaml # Bump version to 2.0
    conda config --set anaconda_upload no
    conda build .
    
  2. 使用客户端 upload 命令将您的测试包上传到 Repository。添加 --label 选项会告诉 Repository 使上传仅对指定该标签的用户可见

    anaconda upload /path/to/conda-package-2.0.tar.bz2 --label test
    

    注意:将 /path/to/ 替换为您存储包的路径。

  3. 您现在可以看到,即使您搜索 conda “main”,您也看不到测试包的 2.0 版本。这是因为您需要告诉 conda 查找您的新“test”标签。

  4. --override 参数告诉 conda 不要使用您的 ~/.condarc 文件中的任何频道。

    以下命令不会产生 2.0 结果

    conda search --override -c USERNAME conda-package
    

    注意:将 USERNAME 替换为您的用户名。

    您的 2.0 包在这里

    conda search --override -c USERNAME/label/test conda-package
    

    注意:将 USERNAME 替换为您的用户名。

  5. 您可以将标签 USERNAME/label/test 提供给您的测试人员。

    注意:将 USERNAME 替换为您的用户名。

  6. 一旦他们完成测试,您可能希望将测试包复制回您的“main”标签

    anaconda label --copy test main
    

    您的 2.0 版本现在位于 main 中

    conda search --override -c USERNAME conda-package
    

    注意:将 USERNAME 替换为您的用户名。

您还可以从仪表板管理您的包标签:https://<your-anaconda-repo>/USERNAME/conda-package

注意:将 <your-anaconda-repo> 替换为您的本地 Repository 的名称,并将 USERNAME 替换为您的用户名。

如果您使用 anaconda-client 1.7 或更高版本,则可以使用 anaconda move 将包从一个标签移动到另一个标签

anaconda move --from-label OLD --to-label NEW SPEC

将 OLD 替换为旧标签,NEW 替换为新标签,SPEC 替换为要移动的包。SPEC 可以是“user/package/version/file”,也可以是“user/package/version”,在这种情况下,它会移动该版本中的所有文件。

使用其他文件类型#

除了上传或下载 之外,您还可以上传或下载其他文件类型到/从 Anaconda Enterprise 4 Repository。

上传其他文件类型#

您可以使用以下步骤,通过 Anaconda Client 命令行界面 (CLI) 上传任何类型的文件。

PyPI 包文件、conda 包文件和 Notebook 文件会自动检测。对于其他类型的文件,没有自动检测功能,因此您必须显式指定 packagepackage-typeversion 字段。

在以下示例中,我们上传一个名为 baby-names 的逗号分隔值 (CSV) 格式的电子表格。

  1. 创建一个新包,这将创建一个可以容纳多个文件的 命名空间

    anaconda login
    anaconda package --create jsmith/baby-names
    
  2. 将文件上传到新命名空间

    anaconda upload --user jsmith --package baby-names --package-type file --version 1 baby-names1.csv
    

注意:在此示例中

  • 用户或组织名称为“jsmith”。

  • 包名称为“baby-names”。

  • 包类型为“file”。

  • 版本为“1”。

  • 完整文件名为 baby-names1.csv

下载其他文件类型#

文件(例如上面创建的文件)位于

https://<your-anaconda-repo>/USERNAME/PACKAGE

任何人都可以使用 Client 下载这些文件

anaconda download USERNAME/PACKAGE

注意:将 <your-anaconda-repo> 替换为您的本地 Repository 的名称,将 USERNAME 替换为所需的用户名,并将 PACKAGE 替换为所需的包名称。

如果存储库中有多个同名但扩展名不同的文件,则默认情况下 anaconda download 将下载所有文件。如果您使用 anaconda-client 1.7 或更高版本,则可以使用带有选项 --package-type-tanaconda download 来仅指定其中一个文件。此选项可以与值 pypicondaipynbenv 一起使用。