首页 > 解决方案 > 创建一个没有开发依赖的 requirements.txt

问题描述

在开发过程中,我经常venv需要在我的venv. requirements.txt除了我在开发中只需要一次(比如mypyor autopep8)之外,生产具有所有要求的最干净的方法是什么

这个答案显示了如何做到这一点,但该方法非常繁琐。

标签: pythonpippackagepypi

解决方案


我建议使用pip-compile, 来自https://pypi.org/project/pip-tools/

这使您可以定义一个“in”文件,requirements.in该文件仅列出您的顶级依赖项,例如:

requirements.in

flask

然后你生成requirements.txtwith pip-compile

$ pip-compile --output-file=requirements.txt requirements.in
#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --output-file=requirements.txt requirements.in
#
click==7.1.2              # via flask
flask==1.1.2              # via -r requirements.in
itsdangerous==1.1.0       # via flask
jinja2==2.11.2            # via flask
markupsafe==1.1.1         # via jinja2
werkzeug==1.0.1           # via flask

然后,您可以为不同的环境创建单独的.in/.txt文件,例如test.in/ test.txt

最后,您可以递归地包含多个需求文件,例如

dev-requirements.txt

-r requirements.txt
-r test.txt
-r lint.txt

推荐阅读