Создание файла requirements.txt - PullRequest
1 голос
/ 19 июня 2020

При загрузке на GitHub можно добавить файл requirements.txt. Я создал виртуальную среду, поэтому pip3 freeze перечисляет только те пакеты, которые я установил во время разработки проекта. Однако я также установил pylint (предложенный VS Code), который мне не нужен в файле требований. Pylint не указан ни в одной записи, когда я использую pip3 freeze. Итак, есть ли способ удалить pylint и подобные вещи из требований? В худшем случае может ли кто-нибудь перечислить все элементы pylint, чтобы я мог вручную удалить их из файла требований?

1 Ответ

2 голосов
/ 30 августа 2020

Предполагая, что вы используете 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
...