Дополнительные зависимости в файле требований к протоколам
Как я могу указать необязательные зависимости в файле требований пипа?
Согласно pip документации это возможно, но в документации не объясняется, как это сделать, и я не могу найти никаких примеров в Интернете.
Ответ 1
Вместо указания дополнительных зависимостей в том же файле, что и жесткие требования, вы можете создать optional-requirements.txt и requirements.txt.
Чтобы экспортировать текущие пакеты среды в текстовый файл, вы можете сделать это:
pip freeze > requirements.txt
При необходимости измените содержимое требования .txt, чтобы точно представлять зависимости проекта. Затем, чтобы установить все пакеты в этом файле, запустите:
pip install -U -r requirements.txt
-U сообщает pip обновлять пакеты до последней версии, а -r сообщает об установке всех пакетов в файле требований .txt.
Ответ 2
В 2015 году PEP-0508 определил способ указания необязательных зависимостей в requirements.txt:
requests[security]
Это означает, что yourpackage нуждается в requests для опции безопасности. Вы можете установить его как:
pip install yourpackage[security]
Ответ 3
Вы неправильно понимаете документацию; это не так ясно, как могло бы быть. Суть в документации заключается в том, что с файлом требований вы можете свободно указать свой полный рекомендуемый рабочий набор пакетов, включая как необходимые, так и дополнительные.
Вы можете добавлять комментарии (строки, начинающиеся С#), чтобы различать людей, но pip не делает различий. У вас также может быть два файла требований, как предлагает Даниэль.