我可以像在 Anaconda 中一样使用 PIP 从特定渠道安装软件包吗?

我可以像在 Anaconda 中一样使用 PIP 从特定渠道安装软件包吗?

在 Anaconda 中,有在配置文件中添加“通道”的选项。

每个安装的软件包conda install ...都会首先在这些频道中查找软件包(例如 频道intel)。

有没有办法让 PIP 也从特定渠道安装?

答案1

pip支持指定其他存储库来查找包;它们的行为类似于 中的频道conda<4。例如:

$ pip install somepkg --extra-index-url http://myindex.org

可以指定多个附加索引pip.conf

[global]
extra-index-url=
    http://myindex.org
    http://other-index.org
    http://third-index.org

当通过提供索引时extra-index-urlpip将始终搜索位于的默认索引https://pypi.org,然后是额外索引并安装第一个匹配的包。覆盖http://pypi.org也可以通过

$ pip install --index-url http://myindex.org

托管本地索引

如果需要,托管本地索引实际上非常容易。尽管有很多第三方 PyPI 服务器可用(举几个例子:devpiwheelhousepypiserver),但除了 Python 安装之外,您不需要任何东西就可以自己启动一个。创建一个目录,其中包含与包名称相同且包含安装文件的子目录:

repo
└── MyPackage
     └── MyPackage.tar.gz

导航到目录并运行 stdlib 的服务器:

$ cd repo/
$ python -m SimpleHTTPServer 9000

现在您可以从本地存储库安装软件包:

$ pip install MyPackage --extra-index-url = http://127.0.0.1:9000/

答案2

如果我没记错的话,我认为它pip没有像 Anaconda 那样的“渠道”。本质上,pip它假设对于简单的在线安装(例如pip install package_name),它将从吡啶甲酸

尽管如此,无论如何,从其他来源(本地和远程)获取数据肯定是可能的——请参阅官方 Python 安装包指南举几个例子。支持的源可以包括版本控制系统 (VCS)、备用索引(即不是 PyPI)、本地 src 树和本地档案/轮子。

可以找到更多有关 Git、Mercurial、Subversion 和 Bazaar 的 VCS 支持文档这里

相关内容