Дополнительные зависимости в файле требований к протоколам

Как я могу указать необязательные зависимости в файле требований пипа?

Согласно 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 не делает различий. У вас также может быть два файла требований, как предлагает Даниэль.