requirementsfile是包含要使用pip install安装的项目列表的文件,
requirementsfile有4种常见用法:
-
requirementsfile用于保存pipfreeze的结果,以实现可重复安装——在这种情况下,requirementsfile包含运行pip冻结时安装的所有内容的固定版本。
pip freeze > requirements.txt//将环境的当前包列表记录到 requirements.txt pip install -r requirements.txt//根据rf.txt安装项目依赖包;
-
requirementsfile用于强制pip正确解析依赖项—— 就像现在一样,pip 没有真正的依赖解析,而是简单地使用它为项目找到的第一个规范。例如,如果pkg1需要pkg3> = 1.0且 pkg2需要pkg3> = 1.0,<= 2.0,并且如果首先解析pkg1,则pip将仅使用pkg3> = 1.0,并且很容易最终安装与pkg3 冲突的pkg3版本需要pkg2。要解决此问题,可以放置pkg3> = 1.0,<= 2.0(即正确的规范)直接进入requirementsfile以及其他顶级要求。像这样:
pkg1 pkg2 pkg3>=1.0,<=2.0
-
requirementsfile用于强制pip安装子依赖项的备用版本。例如,假设您的requirementsfile中的ProjectA需要ProjectB,但最新版本(v1.3)有一个错误,可以强制pip接受早期版本,如下所示:
ProjectA ProjectB<1.3
-
requirementsfile用于覆盖与版本控制中的本地修补程序的依赖关系。例如,假设一个依赖项, 来自PyPI的SomeDependency有一个错误,你不能等待上游修复。您可以克隆/复制src,进行修复,并将其放在带有标签sometag的 VCS中 。可以在requirementsfile中使用如下行来引用它:
git+https://myvcs.com/some_dependency@sometag#egg=SomeDependency
如果SomeDependency以前是requirementsfile中的顶级要求,则将该行替换为新行。如果 SomeDependency是子依赖项,则添加新行。