Что означают квадратные скобки в pip install?

Я вижу все больше и больше команд такой:

$ pip install "splinter[django]"

что делают эти квадратные скобки?

2 ответов


синтаксис, который вы используете:

pip install "project[extra]"

в вашем случае, вы installing на splinter пакет, который имеет дополнительную поддержку для django. Квадратные скобки ([]) не являются конкретным синтаксисом, а просто соглашением. Действительно, Вы устанавливаете пакет с именем: "splinter[django]".

объяснения от @chetner:

команда pip install splinter django установить два пакета с именем splinter и django. splinter[django], С другой стороны, устанавливает вариант splinter пакет, который содержит поддержка на django. Обратите внимание, что это не имеет ничего общего с django сам пакет, но это просто строка, определенная splinter пакет для определенного набора функций, который включается.


довольно уверен, что это дополнительные setuptools:

https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies

иногда проект имеет" рекомендуемые " зависимости, которые не требуются для всех видов использования проекта. Например, проект может предлагать дополнительный вывод PDF, если установлен ReportLab, и поддержку reStructuredText, если установлены docutils. Эти дополнительные функции называются "экстры"...