使用替代索引的pip requirements.txt

106 投票
2 回答
116388 浏览
提问于 2025-04-15 20:36

我想把repoze Zope2安装的所有需求放到一个pip的需求文件里。大部分repoze的包似乎不在PyPi上,但有一个替代的PyPi索引可以在这里找到。不过我搞不清楚怎么告诉pip同时使用这个索引和需求文件。对于单个包来说,这很简单。

pip install zopelib -i http://dist.repoze.org/zope2/2.10/simple/

我试过以下方法:

pip install -r requirements.txt -i http://dist.repoze.org/zope2/2.10/simple/

或者在我的requirements.txt里尝试各种组合:

zopelib -i http://dist.repoze.org/zope2/2.10/simple/
zopelib --index http://dist.repoze.org/zope2/2.10/simple/
-i http://dist.repoze.org/zope2/2.10/simple/ zopelib

或者(因为文档上说“注意,所有这些选项必须单独在一行上。”)

--index http://dist.repoze.org/zope2/2.10/simple/
zopelib

那么,正确的方法是什么,才能告诉pip使用http://dist.repoze.org/zope2/2.10/simple/作为索引呢?

2 个回答

74

在需求文件中,在包或项目名称之前添加一个额外的索引位置:

--extra-index-url <Extra URLs other than index-url>
<some_project_name>

另外,你也可以使用 -i--index-url <Python包索引的基本网址>

参考:需求文件格式

150

requirements.txt

-i http://dist.repoze.org/zope2/2.10/simple
zopelib

示例:

$ pip install -r requirements.txt
...
Successfully installed zopelib

撰写回答