使用包¶
概览¶
上传到 Anaconda.org 的所有文件都存储在包中。每个 Anaconda.org 包都在其自己的唯一 URL 上可见,具体取决于拥有包的用户的名称和包的名称。
用户可以创建一个 Anaconda.org 包,然后将文件上传到其中。
有关更多信息,请参阅包。
笔记
在整个任务中,用特定于您的项目的文本替换占位符文本USERNAME
和PACKAGENAME
。
命名空间¶
命名空间是 Anaconda.org 的一部分,用户或组织可以在其中托管包。例如,用户命名空间
https://anaconda.org/travis包含由名为 的用户上传和共享的包travis
。
有关更多信息,请参阅命名空间。
使用包管理器¶
Anaconda.org 支持两个包管理器 conda和 PyPI。要使用 conda 或 PyPI 包,您必须使用它们相应的子域:
- 要从用户安装 conda 包
travis
,请使用存储库 URLhttps://conda.anaconda.org/travis
- 要从用户安装 PyPI 包
travis
,请使用存储库 URLhttps://pypi.anaconda.org/travis
Conda包¶
上传 conda 包¶
此示例展示了如何使用.conda 文件构建conda包并将其上传
到 Anaconda.org
。conda build
使用终端窗口或 Anaconda Prompt 执行以下步骤:
在开始之前,安装
anaconda-client
并conda-build
:conda install anaconda-client conda-build
选择要为其构建包的存储库。在这个例子中,我们使用一个简单的公共conda 测试包:
git clone https://github.com/Anaconda-Platform/anaconda-client cd anaconda-client/example-packages/conda/
在这个目录中,有两个必需的文件, meta.yaml 和build.sh。
macOS 和 Linux 系统都是 Unix 系统。为 Unix 系统构建的包需要一个
build.sh
文件,为 Windows 构建的包需要一个bld.bat
文件,为 Windows 和 Unix 系统构建的包需要一个build.sh
文件和一个bld.bat
文件。所有包都需要一个meta.yaml
文件。要构建包,请关闭自动客户端上传,然后运行以下命令:
conda build
conda config --set anaconda_upload no conda build .
以这种方式构建的所有包都放在Anaconda
conda-bld
目录的子目录中 。您可以使用以下
--output
选项检查结果文件的放置位置 :conda build . --output
您可以使用 Anaconda upload命令将测试包上传到 Anaconda.org :
anaconda login anaconda upload /path/to/conda-package.tar.bz2
笔记
替换
/path/to/
为您存储包的实际路径。
有关 conda 整体构建框架的更多信息,您可能还需要阅读文章构建 conda 包。
安装 conda 包¶
您可以通过向 conda 配置添加通道来从 Anaconda.org 安装 conda 包。
使用终端窗口或 Anaconda Prompt 执行以下步骤:
因为 conda 知道如何与 Anaconda.org 交互,所以指定频道会
sean
转换为https://anaconda.org/sean:conda config --add channels sean
您现在可以从 Sean 的 Anaconda.org 帐户安装公共 conda 包。尝试
testci
在https://anaconda.org/sean/testci安装软件包 :conda install testci
您可以使用令牌和标签从频道安装软件包:
conda install -c https://conda.anaconda.org/t/token/channel/label/labelname packagename
笔记
替换
token
为提供的令牌、channel
用户频道、labelname
标签名称和packagename
要安装的包名称。
PyPI 包¶
上传 PyPI 包¶
我们可以使用保存在anaconda-client 存储库中的一个小的公共示例包来测试 PyPI 包的上传。
使用终端窗口或 Anaconda Prompt 执行以下步骤:
首先从命令行克隆存储库:
git clone git@github.com:Anaconda-Platform/anaconda-client.git cd anaconda-client/example-packages/pypi/
您现在可以使用
setup.py
脚本创建您的 PyPI 包:python setup.py sdist
该包现已构建为源 tarball 并准备上传:
anaconda upload dist/*.tar.gz
您的包裹现在可在
http://anaconda.org/USERNAME/PACKAGE
。
安装 PyPI 包¶
安装 PyPI 包的最佳方法是使用pip
. 对于以下命令,我们使用我们在上面的示例中编写的包。在终端窗口或 Anaconda Prompt 中,运行:
pip install --extra-index-url https://pypi.anaconda.org/USERNAME/simple pypi-test-package
安装私有 PyPI 包¶
管理访问权限或将 PyPI 和其他包设为私有的最佳方法是创建组织 或组,这允许您为每个包、笔记本或环境设置单独的权限。
您还可以使用令牌系统控制访问。所有 Anaconda.org URL 都可以使用前缀/t/$TOKEN
来访问私有包。
在终端窗口或 Anaconda Prompt 中,运行:
TOKEN=$(anaconda auth --create --name YOUR-TOKEN-NAME)
pip install --index-url https://pypi.anaconda.org/t/$TOKEN/USERNAME/simple-test-package
笔记
替换YOUR-TOKEN-NAME
为您创建的令牌的名称、USERNAME
您的用户名和
simple-test-package
实际的测试包名称。
上传包¶
要将包文件上传到 Anaconda.org,请使用终端窗口或 Anaconda Prompt 和上传命令:
anaconda login anaconda upload PACKAGENAME
Anaconda.org 会自动检测包和笔记本、包或笔记本类型及其版本。
您的包裹现在可在以下位置获得:
https://anaconda.org/USERNAME/PACKAGENAME
任何人都可以从终端窗口或 Anaconda Prompt 使用客户端下载您的软件包:
anaconda download USERNAME/PACKAGENAME
使用私有包¶
不再可能注册带有私人套餐的个人付费计划。任何过去拥有私人包的人仍然可以私下托管这些包。
默认情况下,任何有权访问存储库的人都可以访问上传到 Anaconda.org 的所有包、笔记本和环境。
上传到您在 Anaconda.org 上的用户频道的包可以使用 Web UI 标记为私有:
选择所需的包。
选择设置选项卡。
在侧边栏中选择管理员。
或者,您可以使用以下 URL 访问此页面:
https://anaconda.org/username/packagename/settings/admin
笔记
Jupyter 笔记本和 conda 环境也可以使用此过程和 URL 标记为私有。
笔记
其他 Anaconda.org 用户可以使用令牌或登录来访问您的私人包。
带有令牌的私有包¶
笔记
替换token
为提供的令牌、channel
用户频道、
labelname
标签名称和packagename
要安装的包名称。
要使您的私人包可以使用令牌访问:
首先 为客户端创建一个包含以下范围的访问令牌:
conda:download
或者,在 Web UI 中使用:
Allow private downloads from conda repositories
令牌是一个随机的字母数字字符串,用于安装包或添加要从中安装私有包的频道。
使用提供的令牌,可以
config
从终端窗口或 Anaconda Prompt添加用户频道 :conda config --add channels https://conda.anaconda.org/t/token/channel
令牌也可用于安装软件包,而无需先添加频道。在终端窗口或 Anaconda Prompt 中,运行:
conda install -c https://conda.anaconda.org/t/token/channel packagename
要使用令牌和标签名称从频道安装软件包:
conda install -c https://conda.anaconda.org/t/token/channel/label/labelname packagename
私有 PyPI 包也可以安装在 Web UI 中:
https://pypi.anaconda.org/t/token/channel
带登录的私有包¶
向已登录的用户提供您的私人包:
- 创建一个组织。
- 在该组织中创建一个组,该组可能是只读组。
- 将要授予访问权限的用户添加到组中。
- 将包上传到组织,或将现有包转移到组织。
在您授予他们访问权限后,其他用户可以使用 Web UI 或客户端下载并安装您的软件包。
要下载软件包:
在浏览器中,导航到所需的频道。
如果组织名称是
OrgName
并且包名称是conda-package
,请在终端窗口或 Anaconda Prompt 中使用这些命令:conda install anaconda-client anaconda login conda install -c OrgName conda-package
或者改为:
conda install anaconda-client anaconda login conda install -c https://conda.anaconda.org/OrgName conda-package
删除以前版本的包¶
要从 Anaconda.org 中删除某个软件包的先前版本:
- 选择包名称。
- 选择文件选项卡。
- 选中要删除的版本左侧的复选框。
- 在操作菜单中,选择删除。
您可以改为使用终端窗口或 Anaconda Prompt:
跑步:
anaconda remove USERNAME/PACKAGENAME/0.2
笔记
替换
USERNAME
为您的用户名、PACKAGENAME
包名和0.2
所需的版本。您现在可以在您的个人资料页面上看到更改:
https://anaconda.org/USERNAME/PACKAGE
将协作者添加到包中¶
您可以添加不属于组织的其他用户来协作处理您的包。您将需要其他用户的用户名。
- 从您的仪表板中,通过单击其名称来选择包。
- 要显示包设置,请选择设置选项。
- 要显示当前协作者,请选择协作者选项。
- 键入要添加为协作者的人员的用户名,然后单击添加按钮。
笔记
所有协作者都被授予对该包的完全读/写权限,甚至是私有包。
从包中删除协作者¶
要撤销先前授予协作者的包访问权限:
- 从您的仪表板中,通过单击其名称来选择包。
- 要显示包设置,请选择设置选项。
- 要显示当前协作者,请选择协作者选项。
- 单击协作者旁边的红色 X 按钮可撤销其访问权限。
将包裹转让给新的所有者¶
默认情况下,当您创建或添加包时,它们会附加到您的个人配置文件中。您可以将所有权转让给您控制的另一个所有者帐户,例如您管理的组织资料。
要将包裹转让给新所有者:
从您的仪表板(或您管理的组织的仪表板)中,选择要为其转让所有权的包。
系统会显示该包的选项。
要显示包设置,请选择设置选项。
选择管理员选项。
在“将此包转让给新所有者”下,单击“转让”按钮。
选择新所有者的组织名称。
单击转移所有权按钮。
复制包¶
要将包从频道复制conda-forge
到个人频道,例如jsmith
:
anaconda copy conda-forge/glueviz/0.10.4 --to-owner jsmith
conda-forge/glueviz/0.10.4
是一个“规范”,可以匹配两种格式之一:
user/package/version
或user/package/version/filename
.
以前标签被称为“通道”,该命令已弃用选项,并希望对标签进行操作。不应使用这些已弃用的选项。如果您尝试运行,您将收到一个错误消息。anaconda copy
from-channel
to-channel
anaconda copy --from-channel conda-forge --to-channel jsmith glueviz
Label conda-forge does not exist