管理您的托管包#

将协作者添加到包#

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

  1. 从控制面板中,选择包。

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

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

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

注意

所有协作者都被授予对包的完全读/写权限,即使是私有包也是如此。

从文件包中删除协作者#

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

  1. 从控制面板中,选择包。

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

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

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

将包转让给新所有者#

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

要将资源包转让给新所有者:

  1. 从您的控制面板或您管理的组织的控制面板中,选择要转移所有权的软件包。系统将显示该包的选项。

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

  3. 选择 Admin 选项。

  4. Transfer this package to a new owner(将此包转让给新所有者)下,单击 Transfer(转让)。

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

  6. 单击 Transfer Ownership(转移所有权)。

复制包#

以下命令是如何从conda-forgechannel 复制到名为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用户 already exists for userjsmith,您将收到以下错误消息:File conflict while copying!.如果您仍然想复制包,请尝试在命令前面加上以下标志之一:

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

  • --update- 允许您将缺少的元数据添加到现有包

删除包的先前版本#

要从 Anaconda.org 中删除某个包的先前版本:

  1. 选择包名称。

  2. 导航到 Files 选项卡。

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

  4. Actions (作) 菜单中,选择 Remove (删除)。

要使用 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. 单击 Edit(编辑)。

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

  3. 单击 Save Changes

删除包#

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

  1. 选择包名称。

  2. 选择 个人设置 选项。

  3. 选择 Admin 选项。

  4. 单击 Delete (删除)。

要使用 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 诞生以来一直使用,与现代压缩格式相比,它变得非常慢。考虑到这一点,.condacompression 格式。有关的更多详细信息,请参阅 Conda 包以及了解和改进 Conda 的性能博客文章的下载和提取包部分.conda.

了解.condaformat 的 Package,它允许通过将元数据压缩到自己的 tarball 文件中,与包的其余内容分开,从而更快地访问包的元数据。

要了解如何使用.condaformat 大大提高了包提取的速度,请尝试以下作:

#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文件。

.condaAnaconda.org 可以使用anaconda upload,就像任何.tar.bz2文件。用于创建.condapackages 是使用conda build,然后将.tar.bz2files 到.conda文件使用cph transmute,然后按照说明正常上传它们 在 Uploading conda packages 部分。