pip.conf可以同时指定两个index-url吗?

时间:2015-06-17 10:54:15

标签: pip

我尝试在pip.conf中使用带有index-url的pip。但是,我无法确保我们可以获得所有必需的python库。所以,我想知道pip支持是否在index-url的{​​{1}}部分中指定了多个[global]

4 个答案:

答案 0 :(得分:38)

如果您想要多个包索引,则必须使用--extra-index-url

来自pip man page

   -i,--index-url <url>
          Base URL of Python Package Index (default https://pypi.python.org/simple/).

   --extra-index-url <url>
          Extra URLs of package indexes to use in addition to --index-url.

pip.conf中,必须在没有--的情况下放置设置名称。来自documentation

  

设置的名称来自长命令行选项,例如如果你想使用不同的包索引(--index-url)并将HTTP超时( - default-timeout)设置为60秒,你的配置文件将如下所示:

[global]
timeout = 60
index-url = http://download.zope.org/ppix

因此,您可以添加pip.conf

extra-index-url = http://myserver.com/pip

答案 1 :(得分:36)

pip.conf中,您还必须将两个索引主机都添加为受信任的主机,因此看起来像这样:

[global]
index-url = http://download.zope.org/simple
trusted-host = download.zope.org
               pypi.org
               secondary.extra.host
extra-index-url= http://pypi.org/simple
                 http://secondary.extra.host/simple

在此示例中,您有一个主索引和两个额外的索引URL,并且所有主机都是受信任的。

如果您未将主机指定为受信任,则会收到以下错误:

The repository located at secondary.extra.host is not a trusted or secure host and is being ignored. If this repository is available via HTTPS it is recommended to use HTTPS instead, otherwise you may silence this warning and allow it anyways with '--trusted-host secondary.extra.host'.

干杯!

答案 2 :(得分:5)

使用新的URL将radtek的答案更新为pypi。

已更改为https://pypi.org

因此,要使您的点子能够使用原始pypi服务器,您需要添加“ https://pypi.org/simple”作为Extra-index-URL,同时将本地服务器保留为index-url。 不要忘记将它们都添加到“受信任的主机”列表中

此更新基于onelaview的评论:“官方PyPI现在支持HTTPS,因此您可以为Extra-index-URL指定https://pypi.org/simple/,并避免在受信任的主机中指定pypi.org。”


因此,您的pip.conf需要包含以下内容:

[global]
index-url = https://somedomain.org/simple
trusted-host = somedomain.org
               pypi.org
               secondary.extra.host
extra-index-url= http://pypi.org/simple <= either one of these is fine
                 https://pypi.org/simple <= either one of these is fine
                 http://secondary.extra.host/simple

答案 3 :(得分:0)

您也可以通过设置环境变量来实现:

export PIP_EXTRA_INDEX_URL=http://localhost:8080/simple/

相当于

[global]
extra-index-url = http://localhost:8080/simple/

但不需要 pip.conf 文件