使用 Anaconda 存储库 (AER 2.32)

安装 anaconda-client

注意:Anaconda Client 不是搜索和下载软件包所必需的。

Anaconda 客户端命令行界面 (CLI) 在终端窗口中用于构建和上传包、从终端窗口连接和管理您的 Anaconda 存储库帐户、上传您创建的包以及生成访问令牌以管理对私有包的访问.

此工具可以通过三种方式安装:使用 conda、使用 PIP 或使用来自源代码的 PIP。我们建议使用 conda。

选项 1,畅达

conda 安装 anaconda -客户端

选项 2,画中画

pip  install  anaconda -客户端

选项 3,使用 pip 从源安装:

pip  install  git + https : // github . com / Anaconda -服务器/ anaconda -客户端

安装后,使用以下命令查看 CLI 任务的完整列表:

蟒蛇 - ^ h

上传到 Anaconda Repository 的所有文件都存储在包中。每个 Anaconda Repository 包都在其自己的唯一 URL 处可见,具体取决于拥有包的用户的名称和包的名称。

例如,如果用户“travis”上传了一个名为“testpkg”的测试包,它将在 https://<your-anaconda-repo>/travis/testpkg.

这些 Anaconda Repository 包可能包含多个文件,这些文件可能是逗号分隔值 (CSV)、制表符分隔值 (TSV) 或文本 (TXT) 等数据文件,也可能是 conda 包、PyPI 包或R 包。

用户可以创建一个 Anaconda Repository 包,然后将文件上传到其中。

通过用户界面删除包

  1. 选择PackagesTools下拉菜单中。

  2. 可选:All如果要删除的包不可见,请选择过滤器下的类型。

    ../../../_images/anaconda-repository/2.32/repo-access-delete-packages.png
  3. 单击要删除的包旁边的复选框。

  4. 单击删除。

  5. 在确认弹出窗口中输入帐户名称,然后单击删除以永久删除所选包。

    警告:删除包无法撤消。

通过用户界面设置包的访问权限

  1. 选择PackagesTools下拉菜单中。
  2. 可选:All如果要更改其访问权限的包不可见,请选择过滤器下的类型。
  3. 单击要更改其访问权限的包旁边的复选框。
  4. 单击设置访问权限,然后从出现的弹出菜单中选择PublicPrivate

命名空间

每个用户和组织都有自己的位置,称为用户命名空间,他们可以在其中托管包。您可以通过导航到用户或组织的用户页面来查看用户或组织命名空间中的公共包。

示例:位于 的 travis 用户命名空间https://<your-anaconda-repo>/travis包含由帐户名为 Travis 的用户上传和共享的包。

注意:如果由免费帐户的用户上传,所有软件包都是公开的。通过升级到付费帐户,可以将包指定为私有。

Anaconda Repository 支持两个包管理器 condaPyPI。要使用 conda 或 PyPI 包,您必须使用它们相应的子域:

  • 要从用户 travis安装conda包,请使用存储库 urlhttps://conda.<your-anaconda-repo>/travis
  • 要从用户 travis安装pypi包,请使用存储库 urlhttps://pypi.<your-anaconda-repo>/travis

标签

标签的使用允许包作者上传文件用于开发或测试目的,而不会影响非开发用户。

包中的每个文件都可以用一个或多个标签进行标记,或者根本不标记以接受默认标签。

默认标签是main,所以没有指定标签上传的包会自动标记为“main”。

默认情况下也会下载标有 main 的版本,除非用户指定了不同的标签。因此,如果文件被标记为main,那么 URL 中可能会省略标签名称。例如,以下存储库是等效的:

  • https://<your-anaconda-repo>/sean/label/main
  • https://<your-anaconda-repo>/sean

诸如可以与通道一起使用或与通道和标签一起使用的命令:conda install

conda  install  -- channel  sean  selenium 
conda  install  -- channel  sean / label / dev  selenium 
conda  install  -- channel  sean / label / stable  selenium

Conda包

上传

此示例显示如何使用 conda build 构建conda包并将其上传 到 Anaconda 存储库。

在开始之前,安装 Anaconda 客户端和 conda build:

conda 安装 anaconda -客户端 conda -构建

现在选择您要为其构建包的存储库。在这个例子中,我们将使用一个简单的公共conda 测试包

git  clone  https : // github . com / Anaconda -服务器/ anaconda -客户端
cd  anaconda -客户端/示例-/ conda /

在这个目录中,我们可以看到两个必需的文件: meta.yamlbuild.sh (适用于 Linux 或 Mac)或 bld.bat(适用于 Windows)。

要构建包,请关闭自动 anaconda-client 上传,然后运行 ​​conda build 命令:

conda 配置 -设置 anaconda_upload 
conda 构建 

以这种方式构建的所有包都放在Anaconda 的 conda-bld 目录的子目录中 。您可以使用以下--output选项检查结果文件的放置位置 :

Conda 构建  --输出

现在使用anaconda upload命令将测试包上传到 Anaconda Repository :

anaconda 登录
anaconda 上传 /路径// conda - package . 焦油bz2

您可能还希望阅读文章构建 conda 包conda 构建教程,以获取有关 conda 整体构建框架的更多信息。

安装

通过向 conda 配置添加通道,从 Anaconda Repository 安装 conda 包。

Conda 知道如何与 Anaconda Repository 交互。指定通道 sean转换为 https://<your-anaconda-repo>/sean

conda 配置 ——添加 频道 肖恩

现在您可以从 sean 的 Anaconda Repository 帐户安装公共 conda 包。尝试在以下位置安装 testci 包https://<your-anaconda-repo>/sean/testci

Conda 安装 testci

PyPI 包

上传 PyPI 包

我们可以使用保存在anaconda-client 存储库中的一个小的公共示例包来测试 PyPI 包的上传。

首先从命令行克隆存储库:

git 克隆 git @github COM 蟒蛇-服务器/畅达-服务器git 
cd  conda -服务器/示例-/ pypi /

现在您可以使用setup.py脚本创建您的 PyPI 包:

蟒蛇 设置PY  sdist

该包现已构建为源 tarball 并准备上传:

蟒蛇 上传 dist /*. 焦油gz

您的包裹现在可在 http://<your-anaconda-repo>/USERNAME/PACKAGE

安装 PyPI 包

安装 PyPI 包的最佳方法是使用 pip。对于以下内容,我们将使用我们在上面的示例中编写的包:

pip  install  -- extra - index - url  https : // pypi .< your - anaconda - repo >/ USERNAME / simple  pypi - test - package
安装私有 PyPI 包

管理访问权限或将 PyPI 和其他包设为私有的最佳方法是创建 OrganizationsGroups,这允许您为每个包、笔记本或环境设置单独的权限。

您还可以使用令牌系统控制访问。

所有 Anaconda Repository url 都可以使用前缀/t/$TOKEN来访问私有包:

TOKEN=$(anaconda auth --create --name 你的令牌名)
pip install --index-url https://pypi.<your-anaconda-repo>/t/$TOKEN/USERNAME/simple test-package

注意:将 YOUR-TOKEN-NAME 替换为令牌的名称,并将 $TOKEN 替换为创建令牌时生成的实际随机字符串。

上传包

要将包文件上传到 Anaconda Repository,请使用 anaconda-client命令行界面和 upload命令:

anaconda 登录
anaconda 上传 PACKAGENAME

Anaconda Repository 会自动检测包和笔记本、包或笔记本类型及其版本。

您的包裹现在可在以下位置获得: https://<your-anaconda-repo>/<USERNAME>/<PACKAGENAME>

任何人都可以使用 Anaconda CLI 下载您的软件包:

anaconda 下载 USERNAME / PACKAGENAME

私人包

默认情况下,任何有权访问存储库的人都可以访问上传到 Anaconda 存储库的所有包、笔记本和环境。

上传到您在 Anaconda Repository 上的用户频道的包可以通过 Web UI 标记为私有,方法是选择包,单击“设置”选项卡,然后单击侧栏中的“管理”。

或者,您可以使用以下 URL 访问此页面:

HTTPS // <你的-蟒蛇-回购> / <用户名> / <> /设置/管理

注意:Jupyter Notebooks 和 conda 环境也可以使用此过程和 URL 标记为私有。

其他 Anaconda Repository 用户可以使用令牌或登录来访问您的私人包。

带有令牌的私有包

要使您的私有包可通过令牌访问,首先创建一个访问令牌,其中包括 Anaconda 客户端 CLI 的以下范围:

Conda下载

或在您的网络浏览器中使用:

允许 Conda存储库进行私人 下载   

令牌是一个随机的字母数字字符串,用于安装软件包或添加您希望从中安装私有软件包的频道。

使用提供的令牌可以将用户的频道添加到配置中:

conda  config  --添加 频道 https : // conda .< your - anaconda - repo >/ t /< token >/< channel >

令牌也可用于安装软件包,而无需先添加频道:

conda  install  - c  https : // conda .< your - anaconda - repo >/ t /< token >/< channel >  < package >

也可以使用以下方法安装私有 pypi 包:

https : // pypi .< your - anaconda - repo >/ t /< token >/< channel >
带登录的私有包

要将您的私人包提供给已登录的用户,

  1. 创建一个组织
  2. 在该组织中创建一个组,该组可能是只读组。
  3. 将您希望能够下载和安装软件包的用户添加到组中。
  4. 将包上传到组织,或将现有包转移到组织。

现在,另一个用户可以使用 Web 界面或 Anaconda 客户端下载并安装您的软件包。

  1. 在他们的网络浏览器中,他们可以导航到您的频道。

2. 如果组织名称为“OrgName”,包名称为“conda-package”,则用户将使用以下命令:

conda  install  anaconda -客户端
anaconda 登录
conda  install  - c  OrgName  conda -

上传其他类型的文件

除了上传包,你还可以上传其他类型的文件到 Anaconda Repository。在此示例中,我们将以逗号分隔值 (CSV) 格式上传名为“baby-names”的电子表格。通过使用这些步骤,可以使用 Anaconda CLI 上传任何类型的文件。首先,我们将在 Anaconda Repository 上创建新包,它将创建一个可以容纳多个文件的命名空间。然后我们将文件上传到这个命名空间。

  1. 使用anaconda-client命令行界面为 Anaconda Repository 上的文件创建新的包和命名空间:

    anaconda 登录
    anaconda  --创建 USERNAME / baby - names
    
  2. 现在将文件上传到新的命名空间。自动检测 PyPI 包文件、conda 包文件和笔记本文件。其他类型的文件没有自动检测,因此您必须明确指定 'package'、'package-type' 和 'version' 字段。

    在这个例子中,用户或组织名称是 travis,包名称是 baby-names,包类型是一个文件,这是我们上传的第一个版本,完整的文件名是 baby-names1.csv:

    蟒蛇 上传 -用户 特拉维斯 - 婴儿-的名字 --类型 的文件 -版本 1周 的婴儿- names1 文件
    

下载其他类型的文件

您的文件可在 https://<your-anaconda-repo>/<USERNAME>/<babynames>

任何人都可以使用 Anaconda CLI 下载您的文件:

anaconda 下载 USERNAME / baby - names

通过用户界面删除文件

  1. 选择PackagesHome菜单。

  2. 选择文件选项卡。

  3. 可选:All如果要删除的文件不可见,请选择过滤器下的类型。

    ../../../_images/anaconda-repository/2.32/repo-delete-files.png
  4. 要选择单个文件,首先展开文件所在的包,然后单击要删除的文件旁边的复选框。

  5. 选中要删除的文件旁边的复选框。

  6. 单击删除。

  7. 在确认弹出窗口中输入您的帐户名,然后单击删除以永久删除所选文件。警告:删除文件无法撤消。

删除版本的包

要从 Anaconda 存储库中删除某个软件包的旧版本:

  1. 单击包名称。
  2. 单击“文件”选项卡。
  3. 单击要删除的版本左侧的复选框。
  4. 单击“操作”菜单,然后单击“删除”。

您可以改为使用命令行界面

anaconda 删除 jsmith / testpack / 0.2

注意:将jsmithtestpack和替换0.2为您的实际用户名、包名和版本。

现在可以在您的个人资料页面上看到更改: https://<your-anaconda-repo>/<USERNAME>/<PACKAGE>

将协作者添加到包中

您可以添加不属于组织的其他用户来协作处理您的包。您需要知道其他用户的用户名。

  • 从您的仪表板中,通过单击名称选择要为其添加协作者的包。
  • 单击设置选项以显示包设置。
  • 单击协作者选项。
  • 输入要添加为协作者的人员的用户名,然后单击添加按钮。

注意:所有协作者都被授予对该包的完全读/写权限,甚至是私有包。

从包中删除协作者

要撤销先前授予协作者的包访问权限:

  • 从您的仪表板中,通过单击名称选择要为其添加协作者的包。
  • 单击设置选项以显示包设置。
  • 单击协作者选项以显示当前协作者。
  • 单击协作者旁边的红色 X 按钮可撤销其访问权限。

将包裹转让给新的所有者

默认情况下,当您创建或添加包时,它们会附加到您的个人配置文件中。您可以将所有权转让给您控制的另一个所有者帐户,例如您管理的组织资料。要将包裹转让给新所有者:

  • 从您的仪表板(或您管理的组织的仪表板)中,选择要为其转让所有权的包。系统会显示该包的选项。
  • 单击设置选项以显示包设置。
  • 单击管理选项。
  • 在“将此包转让给新所有者”下,单击“转让”按钮。
  • 为新所有者选择组织名称,然后单击转移所有权按钮。

删除一个包

要从 Anaconda Repository 中删除您的包之一,包括其所有版本:

  1. 单击包名称。
  2. 单击选项卡“设置”。
  3. 单击左侧菜单中的“管理”。
  4. 点击“删除”。

您可以改为使用命令行界面

anaconda 删除 jsmith / testpak

注意:将jsmith和替换testpak为您的实际用户名和包名。

现在可以在您的个人资料页面上看到更改: https://<your-anaconda-repo>/<USERNAME>

笔记本

Jupyter 笔记本(以前称为 IPython 笔记本)上传到 Anaconda 存储库:

蟒蛇 上传 我的-笔记本ipynb

笔记本的 HTML 版本将位于:

http : // notebooks .< your - anaconda - repo >/< USERNAME >/ my - notebook

任何人都可以下载它:

anaconda 下载 用户名/我的-笔记本

环境

可以使用 Web 界面或命令将保存的 conda 环境上传到 Anaconda Repository 。conda env upload

保护环境:

Conda ENV 出口 - ñ -环境 - ˚F -环境yml

要使用 Web 界面,请访问:

HTTPS // <你的-蟒蛇-回购> / < USERNAME > /环境

然后使用右上角的上传按钮。

使用命令:conda env upload

Conda ENV 上传 - ˚F -环境yml

您上传的环境列表位于:

http : // envs .< your - anaconda - repo >/< USERNAME >

任何人都可以从 Anaconda Repository 下载并安装您的环境:

conda  env  create  user / my - environemnt 
source  activate  my - environment

组织

组织使您能够维护组拥有的存储库。

创建组织

要创建组织:

  • 登录到您的 Anaconda 存储库。
  • 从工具下拉菜单中选择组织项并滚动到页面底部。
  • 提供组织名称。注意:组织名称不能包含空格或特殊字符。
  • 提供电子邮件地址,然后单击创建组织按钮。系统显示新组织的仪表板。

作为组织的创建者和所有者,您具有对该组织以及与该组织关联的任何程序包的自动管理访问权限。

“工具”下拉菜单中的“组成员”页面显示您所属的所有组织的列表。

删除一个组织

要删除您管理的组织并清除与其关联的所有数据:

  • 从配置文件下拉菜单中选择“切换到”。
  • 选择您要删除的组织。
  • 从配置文件下拉菜单中选择“设置”。
  • 单击“帐户”选项。可能会要求您验证密码。
  • 在“删除帐户”部分下,单击“删除”按钮。确认页面将要求您提供组织的全名。

自定义用户和组

管理员可以添加、删除或编辑组和用户访问权限。要访问这些功能,首先从配置文件下拉菜单切换到组织配置文件。

从用户视图切换到组织视图后,您可以查看和编辑组织的当前组和用户访问权限,以及在此地址添加新组和用户:

HTTPS // <-水蟒-回购> / < ORGNAME > //

通过从工具下拉菜单中选择组。

当您将用户添加到组织时,用户将收到仪表板通知。

将包上传到组织

要将包上传到组织,请使用以下-u/--user选项:

anaconda 上传 -用户 ORGANIZATION 焦油bz2

只有组织的共同所有者可以将包上传到组织。

注意:将 ORGANIZATION 替换为组织的实际名称,将 package.tar.bz2 替换为包的实际名称。

为不同的访问级别创建组

在组织内,您可以创建一个组来自定义一组用户的访问权限:

  • 单击 + 新建组按钮。为组命名,并分配所需的权限(只读、读写或管理)。
  • 在“成员”框中按用户名添加所需成员。
  • 在包框中添加该组可以访问的包。
  • 单击保存组按钮。

在开发周期中使用标签

标签可用于促进开发周期并组织正在开发、测试和生产中的代码。

Anacona Repository 标签允许您将文件上传到您的包并控制它们的访问方式。

使用 Anaconda Repository 标签,您可以将文件上传到特定标签,因此只有将该标签放入他们搜索的 URL 的用户才能安装它。这对于在开发和测试流程中移动包特别有用。

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

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

git  clone  https : // github . com / Anaconda - Server / anaconda - client 
cd  anaconda - client / example - packages / conda / 
vim  meta yaml  # Bump version to 2.0 
conda  config  - set  anaconda_upload  no 
conda  build  .

现在,使用anaconda-client upload命令将您的测试包上传到 Anaconda Repository 。

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

安纳Conda 上传 /路径//Conda-- 2.0 焦油bz2  --标签 测试

您现在会注意到,即使您搜索 conda main,您也不会看到2.0测试包的版本。这是因为您必须告诉 conda 查找您的新test标签。

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

没有 2.0 结果:

Conda 搜索 - - Ç  USERNAME 畅达-

你的 2.0 包在这里:

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

您可以将标签USERNAME/label/test提供给测试人员。一旦他们完成测试,您可能需要将test包裹复制回您的main标签。

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

anaconda 标签 ——复制 测试 

现在你的 2.0 版是主要的:

Conda 搜索 - - Ç  USERNAME 畅达-

项目

您现在可以将项目添加到您的 Anaconda 存储库。项目可以是代码和资产的任何目录。例如,项目通常会包含笔记本或 Bokeh 应用程序。

要访问项目,请ProjectsTools菜单中选择。

项目页面显示您现有的项目。单击项目以显示该项目的详细信息页面,包括项目的文件、项目的修订、历史和设置。

在单个项目的设置下,您可以更改选项、设置组和协作以及管理项目,包括将其设为公开、私有或经过身份验证、转移成员资格或删除它。

可以使用 Anaconda 客户端上传其他项目。