我想在我的requirements.txt
中添加一个与命令行相对应的软件包
pip3 install foo --index-url https://foo.com/bar/baz
我已添加
--index-url https://foo.com/bar/baz
foo
到requirements.txt
的 end ,希望index-url
选项只影响之后的事物。似乎可以正常工作(至少只要我在foo.com
可见的VPN上就可以)。
这是正确的方法吗? 谢谢。
答案 0 :(得分:1)
requirements.txt
中的参数适用于所有程序包;命令
$ pip install -r requirements.txt
requirements.txt
为
foo
bar>1
baz==2
--flag
实际上与运行相同
$ pip install "foo" "bar>1" "baz==2" --flag
如果只想从私有索引中下载一部分依赖项,请使用--extra-index-url
而不是--index-url
。这将指示pip
从PyPI下载软件包(如果有),否则请诉诸于您的私有索引(也支持多个--extra-index-url
)。
反之亦然-从私有索引下载(如果可用),回退到PyPI-将私有索引设置为主,将PyPI设置为额外索引:
--index-url=https://my.index/ --extra-index-url=https://pypi.org/simple
如果您还有其他用例,例如防止软件包欺骗,则无法使用pip
有效解决。但是,有devpi
之类的索引服务器可以将下载请求代理到PyPI,并提供现成的欺骗保护。