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