Pip: No desaproveche los enlaces de dependencia ni permita que pip use un archivo requirements.txt al instalar desde git

Creado en 2 abr. 2015  ·  3Comentarios  ·  Fuente: pypa/pip

Al tratar de encontrar una forma liviana de distribuir scripts de Python dentro de una organización, la situación propuesta con pip implícita en los mensajes de desaprobación es absurda.

Puede _fácilmente_ distribuir un solo paquete en un servidor git (algo que tienen la mayoría de las organizaciones) ... pero no puede distribuir fácilmente un paquete que podría depender de algunos otros paquetes internos.

Si pip elimina el procesamiento de dependency_links, entonces este estilo de distribución se volverá completamente imposible, lo que para mí está en marcado contraste con algo como npm que hace que hacerlo sea absurdamente fácil.

Claro, no lo deje implícito, pero debe haber una manera fácil en la que pueda enviar a un compañero de trabajo un comando de una sola línea que instalará un paquete que tiene un montón de otras dependencias de git.

La solución ideal sería una forma de obligar a pip a procesar el archivo requirements.txt desde un repositorio de git, de modo que el repositorio podría definir sus otros requisitos específicamente (ya que esto es algo que definitivamente hace una biblioteca en un repositorio de git).

Perfecto sería algo como:
pip install --follow-requirements git+http://my.internal.gitserver/internallibrary.git

¿Quizás dar un aviso sobre los requisitos que no son de confianza?

auto-locked

Comentario más útil

@dstufft ¿Qué es este reemplazo?

Tengo dos paquetes PackageA y PackageB almacenados en repositorios privados de Git y una aplicación App. La aplicación depende de PackageA y PackageA depende de PackageB. No he encontrado ninguna forma de instalar PackageB automáticamente como una dependencia de PackageA al instalar los requisitos de la aplicación.

Todos 3 comentarios

No vamos a eliminar los enlaces de dependencia hasta que se implemente su reemplazo (que PyPI comprende y puede hacer cumplir que no cargue paquetes confiando en ellos).

@dstufft ¿Qué es este reemplazo?

Tengo dos paquetes PackageA y PackageB almacenados en repositorios privados de Git y una aplicación App. La aplicación depende de PackageA y PackageA depende de PackageB. No he encontrado ninguna forma de instalar PackageB automáticamente como una dependencia de PackageA al instalar los requisitos de la aplicación.

@connorbode, ¿qué tal si configuramos un índice devpi con las versiones, luego puede señalar pip al devpi como índice y no necesitará ningún enlace de dependencia y también reflejará / almacenará en caché pypi en su red de trabajo?

¿Fue útil esta página
0 / 5 - 0 calificaciones