¿Cómo puedo especificar dependencias opcionales en un archivo de requisitos de pip? De acuerdo con el pip documentation esto es posible, pero la documentación no explica cómo hacerlo y no puedo encontrar ningún ejemplo en la web.Dependencias opcionales en un archivo de requisitos de pip
Respuesta
En lugar de especificar dependencias opcionales en el mismo archivo que los requisitos estrictos, puede crear un optional-requirements.txt
y un requirements.txt
.
Para exportar los paquetes de su entorno actual en un archivo de texto, puede hacer esto:
pip freeze > requirements.txt
Si es necesario, modificar el contenido de la requirements.txt para representar con precisión las dependencias de su proyecto. A continuación, para instalar todos los paquetes en este archivo, ejecute:
pip install -U -r requirements.txt
-U
dice pip
para actualizar los paquetes a la última versión, y -r
le indica que debe instalar todos los paquetes en requirements.txt.
Creo que ha malentendido la pregunta. 'pip freeze' simplemente imprimirá todas las dependencias. Lo que quiero saber es cómo puedo especificar qué dependencias son necesarias y cuáles son opcionales dentro del archivo de requisitos de pip. – del
Veo la referencia en los documentos a los que creo que se refiere, pero no estoy seguro de que sea posible en un archivo de requisitos ... aunque podría tener dos archivos de dependencia, uno que enumera las dependencias opcionales. Voy a modificar mi respuesta –
Gracias - este es el enfoque que ya estaba tomando, pero leer el bit sobre las dependencias opcionales en el documento me hizo pensar que podría haber una mejor manera de hacerlo. – del
Está mal entendiendo los documentos; no son tan claros como podrían ser. El punto en los documentos es que con un archivo de requisitos puede tener la libertad de especificar su conjunto completo de paquetes de trabajo recomendados, incluidas las dependencias necesarias y las opcionales. Puede agregar comentarios (líneas que comienzan con #) para distinguir los dos a los humanos, pero pip no hace distinción. También puede tener dos archivos de requisitos, como sugiere Daniel.
No es realmente libre de incluir tanto las dependencias necesarias como las opcionales en un archivo de requisitos porque 'pip install' se cancelará inmediatamente si alguno de los paquetes en el archivo no se instala. Parece que usar dos archivos de requisitos por separado es la única solución correcta. – del
En 2015 PEP-0508 define una forma de especificar dependencias opcionales en requirements.txt
:
requests[security]
Eso significa que yourpackage
necesidades requests
por su opción de seguridad. Puede instalarlo como:
pip install yourpackage[security]
Puede configurar uno de estos "extras" usando el argumento ['extras_require'] (http://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-extras-optional-features-with-theirown -dependencias) para la función 'setup' en' setuptools'. Puede ver en [las solicitudes setup.py] (https://github.com/requests/requests/blob/3c1d36b827417fdeaf5a1c106129de30dac371d7/setup.py#L98) cómo se configura el 'security'" extra ". –
- 1. Dependencias opcionales en distutils/pip
- 2. ¿Hay alguna manera de enumerar dependencias/requisitos de pip?
- 3. Archivo de requisitos para apt-get, similar a pip
- 4. ¿Puedo agregar comentarios a un archivo de requisitos de pip?
- 5. Archivos de requisitos divididos en pip
- 6. Dependencias opcionales de Rubygems
- 7. ¿Cómo mantener las opciones de instalación de pip en el archivo de requisitos realizado por congelación de pip?
- 8. Independencia de la plataforma en archivos de requisitos de pip
- 9. ¿Cómo creo un archivo de requisitos de pip para un archivo tar en mi sistema de archivos local?
- 10. PIP: Instalar solo las dependencias
- 11. ¿Cómo puedo actualizar paquetes específicos usando pip y un archivo de requisitos?
- 12. Tratando con dependencias opcionales (C#)
- 13. Pip congelación no muestra las rutas de repositorios para los requisitos de archivo
- 14. Incluyendo implícitamente dependencias opcionales en Maven
- 15. PIP instala un paquete de Python sin un archivo setup.py?
- 16. python pip: force install ignorando dependencias
- 17. ¿Puede Pip instalar dependencias no especificadas en setup.py en el momento de la instalación?
- 18. ¿Puedo determinar requisitos de interfaz/dependencias/herencia de forma programática?
- 19. Especificación de dependencias opcionales en pypi python setup.py
- 20. ¿Hay una manera de PIP para instalar sólo las nuevas dependencias en un requirements.txt actualizado
- 21. Error de especificación de distribución faltante mediante la instalación de pip de los requisitos
- 22. instalando un archivo tarball de paquete de Python con pip
- 23. Eclipse con el complemento de Android - Bloqueado en "el cálculo de requisitos y dependencias"
- 24. ¿Cómo puede tox instalar los módulos a través del archivo de requisitos?
- 25. Instalación de PIP y ruta de Python
- 26. La mejor estrategia para tratar con dependencias opcionales
- 27. Eclipse RCP construido por Tycho incluye dependencias opcionales deseados
- 28. de paquetes yum python-pip pip-pitón ofrece en lugar de PIP
- 29. Migrando a pip + virtualenv de setuptools
- 30. ¿Es posible engañar a pip install --find-links para que use un sdist descargado para - requisitos editables?
Great Q. - a related q. sería cómo definir un conjunto de requisitos que deberían intentarse para su instalación, pero no considerar la instalación una falla si no se pueden instalar. Tengo un paquete que funciona mejor si Numpy está instalado, pero tiene un respaldo si Numpy no puede compilar por alguna razón. Me encantaría que sea un requisito instalado por defecto pero opcional si falla. –