¿Cómo utilizo un método de implementación basada en virtualenv sin actualizar a todos y cada versión principal?

StackOverflow https://stackoverflow.com/questions/4244241

Pregunta

El viernes pasado, he construido una especificación RPM para mi proyecto Django. El RPM crea una virtualenv, se descarga a través de dependencias pip y pone todo en los paquetes. Hoy, he descubierto que BeautifulSoup 3.2 ha sido liberado. Por suerte, he tenido mi versión BeautifulSoup inmovilizó en el requirements.txt, por lo descubrí debido a la acumulación no.

Ahora una cuestión completamente diferente es: ¿cómo lo hago cosas evitar la actualización en el futuro? BeautifulSoup ha borrado a todas las versiones anteriores de PyPI, por lo que no se puede descargar una versión de hecho, he probado en contra. caché de descarga de pip no ayuda aquí tampoco, ya que pip siempre trata de comprobar PyPI primero.

Me puede recomendar algo para evitar esta situación?

¿Fue útil?

Solución

En primer lugar, se trata de una situación inusual. Nunca he visto a otro paquete de eliminar todas las viejas notas de la manera BeautifulSoup hace. Considero que en lugar del comportamiento del usuario hostil, excepto quizás en casos de una revisión de seguridad grave.

Dicho esto, si quieres un proceso de construcción fiable utilizando PIP, que realmente necesita para reflejar todos los paquetes en las que confía a nivel local. Esto no es difícil de hacer; puede utilizar la opción --download de PIP (o la memoria caché existente pip) para obtener todos los archivos de código de paquete, a continuación, sólo los descarga en un directorio en un índice, servido web y utilizar --find enlaces en el archivo de requisitos a punto de pepita allí ( además --no-índice para decirle que no usar PyPI).

Otros consejos

Los archivos en cuestión todavía se puede encontrar: simplemente proporcionar la dirección URL directa en lugar del nombre del paquete:

http: //www.crummy. com / software / BeautifulSoup / descarga / 3.x / 3.0.8.tar.gz

por ejemplo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top