教程

在开发周期中使用标签

Anaconda Repository标签可用于促进开发周期并组织正在开发、测试和生产中的代码,而不会影响非开发用户。

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

  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. 使用客户端上传命令将您的测试包上传到存储库 。添加该--label 选项会告诉 Repository 使上传仅对指定该标签的用户可见:

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

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

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

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

    anaconda label --copy test main
    

    您的 2.0 版现在处于主要状态:

    conda search --override -c USERNAME conda-package
    

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

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

注意:替换<your-anaconda-repo>为您本地存储库的名称和USERNAME您的用户名。

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

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

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

处理其他文件类型

除了上传或下载 ,您还可以向/从 Anaconda Repository 上传或下载其他文件类型。

上传其他文件类型

您可以使用以下步骤使用Anaconda 客户端命令行界面(CLI)上传任何类型的文件。

自动检测 PyPI 包文件、conda 包文件和笔记本文件。其他类型的文件没有自动检测,因此您必须明确指定package, package-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”。
  • 包类型是“文件”。
  • 版本是“1”。
  • 完整的文件名是baby-names1.csv.

下载其他文件类型

文件,例如上面创建的文件,可在以下位置找到:

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

任何人都可以使用客户端下载这些文件:

anaconda download USERNAME/PACKAGE

注意:替换<your-anaconda-repo>为您本地存储库的名称、USERNAME所需的用户名和 PACKAGE所需的包名称。

如果存储库有多个同名不同扩展名的文件,默认会全部下载。如果您使用1.7 或更高版本,则可以使用选项或仅指定这些文件之一。此选项可以与价值观工作,,,和。anaconda downloadanaconda-clientanaconda download--package-type-tpypicondaipynbenv