python plone easy-install buildout

python - ¿Cómo uso easy_install y buildout cuando pypi está inactivo?



plone easy-install (6)

Estoy usando buildout para descargar y configurar automáticamente las muchas dependencias de mi instalación de Plone. buildout usa más o menos easy_install para descargar e instalar un montón de huevos de Python. Esto generalmente funciona, pero no funciona si ninguna de las dependencias no se puede descargar o si quiero que buildout encuentre un paquete interno no apropiado para pypi. ¿Cómo puedo configurar mi propia versión local de pypi para duplicar automáticamente los paquetes que necesito? ¿Seguirá dependiendo de servidores de terceros para paquetes que usen pypi para sus metadatos pero no su código?


Aquí hay instrucciones sobre cómo configurar su propio espejo PyPi . La página de inicio de este proyecto está aquí . También parece haber un creciente número de espejos por ahí.

Para obtener instrucciones sobre cómo configurar su propio índice de paquetes, consulte esta publicación de blog donde se explica una solución al final. Entonces también puedes alojar tus propios paquetes internos allí. La ventaja también es que las versiones se arreglan de esa manera. (Para conocer las versiones directamente en buildout, consulte esta publicación ).

Si solo hay metadatos en PyPI y el archivo está almacenado en otro lugar, es posible que también copie eso en su índice. Si solo usa un espejo PyPI, supongo que aún necesita acceso a estos servidores.


También puedes usar un espejo. Pon esto en la sección "[global]" de "~ / .pip / pip.conf":

index-url = http://d.pypi.python.org/simple/

Esta es una característica reciente como se anunció aquí .




En caso de zc.buildout: use sus características de almacenamiento en caché local. En su mayoría hay tres cosas para almacenar en caché:

  • external extends, es decir, http://dist.plone.org/release/4.1.2/versions.cfg
  • huevos de algún servidor, es decir, pypi
  • descargas desde zc.recipe.cmmi o recetas similares utilizando la infraestructura de descarga proporcionada por zc.buildout

Para los tres, necesitamos ajustar la configuración global y establecer una carpeta de caché para las extensiones y otra para los huevos y otras descargas.

En su carpeta de inicio, cree una carpeta .buildout .

En esta carpeta crea las carpetas extends-cache y downloads

En .buildout crea un archivo default.cfg con:

[buildout] extends-cache = /home/USERNAME/.buildout/extends-cache download-cache = /home/USERNAME/.buildout/downloads

así que tienes:

.buildout/ ├── default.cfg ├── downloads └── extends-cache

Eso es. Asegúrese de no anular estas dos variables de default.cfg en su buildout específico. Después de la primera ejecución exitosa de Buildout, las ejecuciones subsiguientes se ejecutan en modo fuera de línea ./bin/buildout -o .

Como una compilación de efectos secundarios es mucho más rápida si se usa en modo fuera de línea, es decir, cuando no se esperan nuevas descargas, pero se cambió alguna configuración

Además de esto, tiene sentido ejecutar tu propio pypi-mirror. Como otra fuente de información, podría interesarle el artículo que escribí hace algún tiempo sobre este tema: http://bluedynamics.com/articles/jens/setup-z3c.pypimirror


Configurar el index en buildout.cfg , por ejemplo

[buildout] index = http://a.pypi.python.org/ find-links =

Más espejos en: http://www.pypi-mirrors.org/