Pregunta

He estado usando zc.buildout más y más y estoy encontrando problemas con algunas recetas que tengo soluciones a.

Estos paquetes generalmente se dividen en varias categorías:

  1. Paquete sin vínculos obvios para un sitio de proyecto
  2. Paquete con enlaces para liberar servicio alojado como github o código de Google

Configuración # 2 es mejor que # 1, pero no mucho mejor, porque para estas dos situaciones, que tendría que esperar a que el desarrollador para aplicar estos cambios antes de que pueda utilizar el buildout paquete actualizado.

Lo que he estado haciendo hasta este punto es básicamente el paquete que se bifurcan, lo que le da un nombre diferente y subirlo a PyPI, pero esto es la creación de redundancia y creo que sólo agrava el problema.

Una posible solución, es utilizar a utilizar un índice de paquetes servidor personal donde me gustaría cargar versiones actualizadas del código hasta que las actualizaciones de desarrollador él / ella paquete. Esto es factible, pero añade un trabajo adicional, que preferiría evitar.

¿Hay una mejor manera de hacer esto?

Gracias

¿Fue útil?

Solución

Su solución "subir mi tenedor personalizada" suena como una idea terrible. Usted debe tratar http://pypi.python.org/pypi/collective.recipe.patch que le permite parchear automáticamente los huevos. Intentar la creación de un índice compatible con PyPi locales . Creo que también se puede señalar find-links = en un directorio (no sólo una url http://) que contiene sus versiones personales de esos "casi suficientemente bueno" paquetes. También puede intentar mono parchear el paquete defectuoso, o aprovechar el modelo de componentes de Zope para anular los bits necesarios en un nuevo paquete. A menudo, los autores reales se enumeran en alguna parte del código fuente de un paquete, incluso si deciden no poner sus nombres arriba en PyPi.

He estado tratando de reducir el número de versiones personalizadas de los paquetes que uso. Por lo general, yo trabajo con paquetes personalizados como el desarrollo de los huevos mediante la vinculación de src / some.project a mi salida de código de ese proyecto. Yo no tengo que construir un nuevo huevo o volver a instalar cada vez que edita esos paquetes.

Una gran cantidad de paquetes de Python utilizados en buildouts están alojados en SVN colectiva de Plone. Es relativamente fácil de conseguir comprometer el acceso a este registro.

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