Estoy usando pip con virtualenv para empaquetar e instalar algunas bibliotecas de Python.
Me imagino que lo que estoy haciendo es un escenario bastante común. Soy el encargado de mantenimiento de varias bibliotecas para las que puedo especificar las dependencias explícitamente. Algunas de mis bibliotecas dependen de bibliotecas de terceros que tienen dependencias transitivas sobre las que no tengo control.
Lo que estoy tratando de lograr es que pip install
en una de mis bibliotecas descargue / instale todas sus dependencias ascendentes. Con lo que estoy luchando en la documentación de pip es si / cómo los archivos de requisitos pueden hacer esto por sí mismos o si en realidad son solo un complemento del uso install_requires
.
¿Usaría install_requires
en todas mis bibliotecas para especificar dependencias y rangos de versiones y luego solo usaría un archivo de requisitos para resolver un conflicto y / o congelarlos para una compilación de producción?
Supongamos que vivo en un mundo imaginario (lo sé, lo sé) y mis dependencias ascendentes son sencillas y están garantizadas que nunca entrarán en conflicto o romperán la compatibilidad con versiones anteriores. ¿Me vería obligado a usar un archivo de requisitos de pip o simplemente dejaría que pip / setuptools / distribution instale todo en función de él install_requires
?
Hay muchas preguntas similares aquí, pero no pude encontrar ninguna que fuera tan básica como cuándo usar una u otra o usarlas juntas en armonía.