管理您的托管包#

向包添加协作者#

您可以添加非组织用户的其他用户来协作处理您的包。

  1. 从您的仪表板中,选择包。

  2. 要显示包设置,请选择设置选项。

  3. 要显示当前协作者,请选择协作者选项。

  4. 输入您要添加为协作者的人员的用户名,然后单击添加

注意

所有协作者都获得包的完整读/写权限,即使是私有包

从包中删除协作者#

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

  1. 从您的仪表板中,选择包。

  2. 要显示包设置,请选择设置选项。

  3. 要显示当前协作者,请选择协作者选项。

  4. 单击协作者旁边的红色 X 以撤销其访问权限。

将包转移到新所有者#

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

要将包转移到新所有者

  1. 从您的仪表板(或您管理的组织的仪表板)中,选择您要转移所有权的包。系统会显示该包的选项。

  2. 要显示包设置,请选择设置选项。

  3. 选择管理选项。

  4. 将此包转移到新所有者下,单击转移

  5. 为新所有者选择组织名称。

  6. 单击转移所有权

复制包#

以下命令示例说明如何将包从 conda-forge 通道复制到名为 jsmith 的个人通道

anaconda copy conda-forge/glueviz/0.10.4 --to-owner jsmith

conda-forge/glueviz/0.10.4 是一个“spec”,可以使用两种格式之一进行格式化:user/package/versionuser/package/version/filename

注意

anaconda copy 命令 from-channelto-channel 已被弃用。如果您尝试运行 anaconda copy --from-channel conda-forge --to-channel jsmith glueviz,您将收到错误 Label conda-forge does not exist

注意

如果包 glueviz/0.10.4 已存在于用户 jsmith,您将收到以下错误消息:File conflict while copying!。如果您仍然要复制包,请尝试在命令前添加以下标志之一

  • --replace - 允许您覆盖已存在的包

  • --update - 允许您向现有包添加缺失的元数据

删除包的先前版本#

要从 Anaconda.org 中删除您的包的先前版本之一

  1. 选择包名称。

  2. 导航到文件选项卡。

  3. 选中要删除的版本左侧的复选框。

  4. 操作菜单中,选择删除

要使用 Anaconda Prompt(macOS/Linux 上的终端)删除您的包的先前版本之一,请运行

# Replace <USERNAME> with your username
# Replace <PACKAGE> with the package name
# Replace <VERSION_NUMBER> with the desired version
anaconda remove <USERNAME>/<PACKAGE>/<VERSION_NUMBER>

您现在可以在您的个人资料页面 http://anaconda.org/<USERNAME>/<PACKAGE> 上看到更改,其中 <USERNAME> 是您的用户名,<PACKAGE> 是包名称。

隐藏包安装说明#

在您将包上传到帐户或组织后,您可以控制包的下载页面上显示的安装说明。安装说明将根据包的标签或包类型(conda 或标准 Python)而有所不同。

要编辑包安装说明的可见性

  1. 单击编辑

  2. 选中您要隐藏的说明的复选框。您还可以选中任何组最右侧的复选框以隐藏所有说明。

  3. 单击保存更改

删除包#

要从 Anaconda.org 中删除包及其所有版本

  1. 选择包名称。

  2. 选择设置选项。

  3. 选择管理选项。

  4. 单击删除

要使用 Anaconda Prompt(macOS/Linux 上的终端)删除包及其所有版本,请运行

# Replace <USERNAME> with your username
# Replace <PACKAGE> with the package name
anaconda remove <USERNAME>/<PACKAGE>

您现在可以在您的个人资料页面 http://anaconda.org/<USERNAME> 上看到更改,其中 <USERNAME> 是您的用户名。

更新包元数据#

您的包的 meta.yaml 文件中提供的大部分元数据会显示在您的包的下载页面上。这些信息包括您包的许可证、描述、Git 仓库 URL 和文档 URL。有关 conda-build 的 meta.yaml 文件中通常包含的内容的更多信息,请参阅 conda-build 文档

Anaconda Client 会自动更新您的包上传的 meta.yaml 文件中定义的元数据,只要包版本号之前从未上传过。要在不需要新的包版本的情况下更新您的元数据,请使用 --force-metadata-update

anaconda upload /your/path/conda-package.tar.bz2 --force-metadata-update

使用 .conda 压缩格式#

目前,当您使用 conda build 创建包时,这些包会被压缩为 .tar.bz2 格式。自 conda 诞生以来,一直使用这种格式,并且与现代压缩格式相比,它变得非常慢。考虑到这一点,创建了 .conda 压缩格式。请参阅 Conda 包了解和改进 Conda 性能 博客文章的下载和解压缩包部分,以获取有关 .conda 的更详细信息。

关于 .conda 格式,最重要的一点是要理解,它允许更快地访问包的元数据,方法是将该元数据压缩到其自己的 tarball 文件中,该文件与包内容的其他部分分开。

要了解 .conda 格式如何大幅提高包解压缩速度,请尝试以下操作

#Install the conda-package-handling package
conda install conda-package-handling

#Transmute a .tar.bz2 package format into a .conda format
#cph transmute IN_FILE(file to convert) OUT_EXT(extension to convert to, i.e. .conda)
cph transmute mkl-2018.0.3-1.tar.bz2 .conda

#Test the speed of extracting the .tar.bz2 file versus the .conda file
$ time cph extract mkl-2018.0.3-1.tar.bz2 --dest mkl-a
cph extract mkl-2018.0.3-1.tar.bz2 --dest mkl-a  18.16s user 0.59s system 98% cpu 19.015 total
$ time cph extract mkl-2018.0.3-1.conda --dest mkl-b
cph extract mkl-2018.0.3-1.conda --dest mkl-b  1.41s user 0.65s system 87% cpu 2.365 total

正如您所见,.conda 文件的解压缩速度几乎比 .tar.bz2 文件快一个数量级。

.conda 文件可以使用 anaconda upload 上传到 Anaconda.org,就像任何 .tar.bz2 文件一样。创建 .conda 包的当前工作流程是使用 conda build 构建它们,然后使用 cph transmute.tar.bz2 文件转换为 .conda 文件,然后按照 上传 conda 包 部分中的描述正常上传它们。