使用 pip 的 --process-dependency-links 的替代方法是什么

What is the alternative to using --process-dependency-links with pip

我正在使用 Python 2.7。我正在尝试 pip install 一个依赖于另一个仓库(也依赖于内部 github)的仓库(内部 github)。我尝试了几种选择,但有效的是这样的:

(env)abc$ cat requirements.txt
 -e git://github.abc.com/abc/abc.git#egg=my_abc --process-dependency-links

(env)abc$ pip install -r requirements.txt

但是我在 运行 命令行中收到警告说:

"DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release."

我正在使用 pip v7.1.2。正确的做法是什么?

尝试使用 --process-dependency-links 标志选项。您可能还必须使用 --allow-external packagename--allow-unverified packagename,其中 packagename 实际上指定了哪个依赖项 你想安装不在官方存储库中的那个

注意:由于该功能已弃用,--process-dependency-links flag 将很快被完全删除。 我相信首选方法是提供 requirements.txt 文件。 例如:让我对我的项目有一定的要求,所以我会把它写在 requirements.txt.

&cat requirements.txt

django-compressor>=1.4,<1.5
django-grappelli>=2.6.3,<2.7
django-bootstrap-form>=3.1,<3.2

接下来我可以安装它:

$ pip install -r requirements.txt

这就是您要做的全部

您可以使用 PEP 508 URL requirements:

pip @ https://github.com/pypa/pip/archive/19.2.3.zip

它们将满足直接需求(通过 CLI,或在 requirements.txt 中列出)和不是通过 pip 从 PyPI 下载的包。请注意,对此的支持已在 pip 18.0 中发布(即 2018 年初,因为 pip 现在在 CalVer 上)。


在 OP 的情况下,如果依赖链接更新为 PEP 508 格式,requirements.txt 可以保持不变(尽管他们想要删除 --process-dependency-links)。