教程

在开发周期中使用标签

Anaconda.org标签可用于促进开发周期并组织正在开发、测试和生产中的代码,而不会影响非开发用户。使用标签,您可以将文件上传到特定标签,因此只有将该标签放入他们搜索的 URL 中的用户才能找到它。

使用 Anaconda Client, 开发人员可以创建其他标签,例如 development labels/dev、 testlabels/test或其他标签,只有在用户指定标签时才会搜索这些标签。以下搜索示例使用的命名空间travis

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

使用终端窗口或 Anaconda Prompt 执行以下步骤:

  1. 让我们从 conda 包开始。如果您没有,请使用我们的示例 conda 包。在构建包之前,将meta.yaml文件中 的版本编辑anaconda-client/example-packages/conda/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. 使用客户端上传命令将您的测试包上传到 Anaconda.org 。

    添加该--label选项会告诉 Anaconda.org 使上传内容仅对指定该标签的用户可见:

    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. 一旦他们完成测试,您可能需要将test包裹复制 回您的main标签:

    anaconda label --copy test main
    

    您还可以从仪表板管理您的包裹标签: https://anaconda.org/USERNAME/conda-package

    你的版本2.0现在是main

    conda search --override -c USERNAME conda-package
    

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

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

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

用旧标签替换OLD,用新标签替换NEW,用要移动的包裹替换SPEC。SPEC 可以是“用户/包/版本/文件”或“用户/包/版本”,在这种情况下,它会移动该版本中的所有文件。