以pip分割需求文件

时间:2012-07-28 20:09:41

标签: python syntax install pip package-management

要创建Python虚拟环境,我使用virtualenv和pip。工作流程非常简单:

$ virtualenv project
$ cd project
$ . bin/activate
$ pip install -r /path/to/requirements/req1.txt
$ pip install -r /path/to/requirements/req2.txt

不同需求文件的数量可以增长到足以让我们有机会立即包含它们,所以我宁愿说:

$ pip install -r /path/to/requirements/req1_req2.txt

req1_req2.txt包含以下内容:

include /path/to/requirements/req1.txt
include /path/to/requirements/req2.txt

或其他:

$ pip install -r /path/to/requirements/*.txt

这些都不起作用,无论多么简单,我都无法弄清楚如何做我想做的事。

有什么建议吗?

2 个答案:

答案 0 :(得分:80)

-r标志不仅限于命令行使用,也可以在需求文件中使用。因此,当req-1-and-2.txt包含以下内容时运行pip install -r req-1-and-2.txt

-r req-1.txt
-r req-2.txt

将安装req-1.txt和req-2.txt。

中指定的所有内容

答案 1 :(得分:0)

仅需注意,您还可以根据分组划分需求,然后将其嵌入到一个文件中(或者再次根据您的环境准备多个需求文件),即可执行。

例如,此处的测试要求:

requirements-test.txt

pylint==2.4.4
pytest==5.3.2

此处的开发要求:

requirements-dev.txt

boto3>=1.12.11

包含您其他需求的主要需求文件:

requirements.txt

-r requirements-dev.txt
-r requirements-test.txt

现在,您只需安装嵌入其他需求的需求文件

pip3 install -r requirements.txt