为了创建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
这些都不起作用,无论多么简单,我都不知道如何做我想做的事。
有什么建议吗?
-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中指定的所有内容。
请注意,您还可以根据分组拆分需求,并将它们嵌入到一个文件中(或者也可以根据环境准备多个需求文件),以便执行。
例如,这里的测试要求:
需求测试.txt
pylint==2.4.4
pytest==5.3.2
这里的开发要求:
需求-dev.txt
boto3>=1.12.11
包含其他需求的主需求文件:
需求.txt
-r requirements-dev.txt
-r requirements-test.txt
现在,您只需安装嵌入其他需求的需求文件
pip3 install -r requirements.txt