Предполагая, что вы используете pip
(а не другой менеджер, такой как Poetry), вы можете использовать pip-tools для обработки этого сценария. Сначала вы вручную записываете свои требования в файл:
$ cat requirements.in
# assuming your project uses only following dependencies
django
gunicorn
, затем вы можете сгенерировать весь граф зависимостей:
$ pip-compile requirements .in
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile requirements.in
#
asgiref==3.2.10 # via django
django==3.1 # via -r requirements.in
gunicorn==20.0.4 # via -r requirements.in
pytz==2020.1 # via django
sqlparse==0.3.1 # via django
^ это ваш requirements.txt
для производства. Для зависимостей разработки вы можете сделать то же самое, но сохранить их в отдельный файл, чтобы вы могли установить его при необходимости, но он останется отделенным от зависимостей времени выполнения:
$ cat requirements-dev.in
# development requirements
pylint
mypy
pytest