Je vois de plus en plus de commandes comme celle-ci:
$ pip install "splinter[Django]"
Que font ces crochets?
La syntaxe que vous utilisez est la suivante:
pip install "project[extra]"
Dans votre cas, vous êtes installing
le package splinter
qui prend en charge Django
. Les crochets ([]
) ne sont pas une syntaxe spécifique, juste une convention. Vraiment, vous installez le paquet nommé: "splinter[Django]"
.
Une explication de @chetner
:
La commande
pip install splinter Django
installerait deux paquets nomméssplinter
etDjango
.splinter[Django]
, d'autre part, installe une variante du paquetsplinter
qui contient support pourDjango
. Notez que cela n’a rien à voir avec le paquetDjango
, mais qu’il s’agit simplement d’une chaîne définie par le paquetsplinter
pour un ensemble de fonctionnalités particulier activé.
Ce sont des extras de setuptools:
Parfois, un projet a des dépendances "recommandées", qui ne sont pas requises pour toutes les utilisations du projet. Par exemple, un projet peut offrir une sortie optionnelle PDF si ReportLab est installé et support reStructuredText si docutils est installé. Ces fonctionnalités facultatives sont appelées "extras" ...
C'est exactement la liste du setup.py
fichier pour le projet dans question :
"Django": ["Django>=1.7.11;python_version<'3.0'", "Django>=2.0.6;python_version>'3.3'", "lxml>=2.3.6", "cssselect", "six"],