Что означают квадратные скобки в установке pip?
Я вижу все больше и больше таких команд:
$ pip install "splinter[django]"
Что делают эти квадратные скобки?
Ответы
Ответ 1
Синтаксис, который вы используете:
pip install "project[extra]"
В вашем случае вы installing
пакет splinter
, в который добавлена поддержка django
. Квадратные скобки ([]
) - это не конкретный синтаксис, а просто соглашение. На самом деле вы устанавливаете пакет с именем: "splinter[django]"
.
Объяснение от @chetner
:
Команда pip install splinter django
установит два пакета с именами splinter
и django
. splinter[django]
, с другой стороны, устанавливает вариант пакета splinter
, который содержит поддержку django
. Обратите внимание, что он не имеет ничего общего с самим пакетом django
, а представляет собой просто строку, определенную пакетом splinter
для определенного набора функций, который включается.
Ответ 2
Уверен, что это дополнительные функции setuptools:
https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies
Иногда проект имеет "рекомендуемые" зависимости, которые не требуются для всех видов использования проекта. Например, проект может предлагать дополнительный вывод PDF, если установлен ReportLab, и поддержку reStructuredText, если установлен документирование. Эти дополнительные функции называются "дополнениями"...
Ответ 3
Это именно список из setup.py
файла для проекта в вопросе:
"django": ["Django>=1.7.11;python_version<'3.0'", "Django>=2.0.6;python_version>'3.3'", "lxml>=2.3.6", "cssselect", "six"],