Veo más y más comandos como este:
 $ pip install "splinter[django]"¿Qué hacen estos corchetes?
La sintaxis que estás usando es:
 pip install "project[extra]" En su caso, está installing el paquete splinter que tiene soporte adicional para django . Los corchetes ( [] ) no son una sintaxis específica, solo una convención. Realmente, está instalando el paquete llamado: "splinter[django]" .
 Una explicación de @chetner :
El comando
pip install splinter djangoinstalaría dos paquetes llamadossplinterydjango.splinter[django], por otro lado, instala una variante del paquetesplinterque contiene soporte paradjango. Tenga en cuenta que no tiene nada que ver con el paquetedjangoen sí, sino que es solo una cadena definida por el paquetesplinterpara un conjunto de características particular que se habilita.
[optional] en PIP significan dependencias opcionales En caso de que aparezca otro desarrollador buscando implementar este patrón en su propia implementación de paquetes de Python, aquí hay una explicación más detallada de los brackets [] en pip.
 Para instalar airflow desde pip usamos este comando:
 pip install 'apache-airflow'Puede instalar componentes opcionales de flujo de aire con:
 pip install 'apache-airflow[aws]' # [optional] -----------^ Cuando buscamos apache-airflow airflow en pypi, tenga en cuenta que los paquetes opcionales no aparecen:
 pip search 'apache-airflow' apache-airflow (1.10.9) - Programmatically author, schedule and monitor data pipelines pylint-airflow (0.1.0a1) - A Pylint plugin to lint Apache Airflow code. swe-airflow-tools (0.0.3) - Tools for Apache Airflow Application airflow (0.6) - Placeholder for the old Airflow package ...setup.py Puede ver cómo se logró esto en el script setup.py
 A la izquierda en setup.py - se define extras_require .
 A la derecha están los comandos de instalación correlacionados para estos subpaquetes opcionales.
Bastante seguro de que estos son extras de herramientas de configuración:
A veces, un proyecto tiene dependencias "recomendadas", que no son necesarias para todos los usos del proyecto. Por ejemplo, un proyecto puede ofrecer una salida PDF opcional si ReportLab está instalado y compatibilidad con reStructuredText si docutils está instalado. Estas características opcionales se denominan "extras"...