【发布时间】:2019-07-15 16:02:11
【问题描述】:
我想向我的requirements.txt 添加一个与命令行对应的包
pip3 install foo --index-url https://foo.com/bar/baz
我附加
--index-url https://foo.com/bar/baz
foo
到requirements.txt 的结束,希望index-url 选项只会影响后面的内容。它似乎有效(至少只要我在可以看到 foo.com 的 VPN 上)。
这是正确的方法吗? 谢谢。
【问题讨论】:
-
pip install -r requirements.txt实际上与cat requirements.txt | xargs pip install相同,因此在您的情况下,自定义索引 arg 将应用于所有包。 -
可能更像
grep -v '^#' requirements.txt | xargs pip install但我明白你的意思。谢谢。您知道人们如何处理来自不同来源的需求问题吗? -
我会说这取决于您的用例。如果您的用例是从私有索引下载依赖项的选择,从 PyPI 中休息,因为私有 deps 未上传到 PyPI,请将
--index-url替换为--extra-index-url所以pip首先尝试从 PyPI 下载并在失败时求助于私有索引。 -
如果您的用例是例如防止 pip 从 PyPI 下载包以防止包欺骗,那么您将无法通过标志在本地解决它,需要相应地配置私有索引。我会例如推荐
devpi,因为它默认开启了包欺骗预防,并将--index-url指向你的私有索引,所以它可以自行决定是否将下载请求代理到PyPI。
标签: python python-3.x pip