Replicación de proyectos Python

Autor(es):Leonardo J. Caballero G.
Correo(s):leonardocaballero@gmail.com
Lanzamiento:0.1
Fecha:16 de Feb del 2013

¿Qué es zc.buildout?

Es una herramienta que replica todo un entorno de trabajo aislado. Esto es una buena práctica para experimentar con código y el estar familiarizado con estas herramientas será beneficioso para desarrollar e implantar aplicaciones.

Características

Estas son sus principales características:

  • Permite definición de buildouts de forma declarativa.
  • Basado en Python.
  • Orientado a desarrollador.
  • Se puede replicar.
  • Es fácil trabajar con los formatos de paquetes eggs.

Terminología

Hay que entender varios conceptos antes de continuar tales como buildout, part y recipe.

Instalación

Puedes instalar zc.buildout usando pip (es recomendable hacerlo dentro de un entorno virtual):

$ pip install zc.buildout

Configuraciones genéricas

Usted puede agregar las configuraciones genéricas para todos sus proyectos Buildout, para esto debe ejecutar los siguientes comandos:

$ mkdir $HOME/.buildout ; mkdir $HOME/.buildout/{eggs,downloads,zope}
$ nano $HOME/.buildout/default.cfg

Luego de crear el archivo default.cfg defina algunas configuraciones de usuario predeterminadas para cualquier parte de su configuración buildout:

[buildout]
eggs-directory = /path/to/home/.buildout/eggs
download-cache = /path/to/home/.buildout/downloads
zope-directory = /path/to/home/.buildout/zope

Nota

Esto solamente proveerá valores predeterminados, ¡estos no sobreescribirán las configuraciones en su configuraciones buildout!

Creación de proyectos buildout

Ahora crea una nueva configuración zc.buildout así:

$ mkdir mibuildout ; cd mibuildout
$ buildout init

Ahora el nuevo directorio mibuildout es un proyecto buildout. El archivo de configuración predeterminado del buildout es buildout.cfg . Después de la inicialización, tendrá el siguiente contenido:

[buildout]
parts =

Puedes cambiarlo a:

[buildout]

parts = py

[py]
recipe = zc.recipe.egg
interpreter = python
eggs = zope.component

Ahora ejecuta el comando buildout disponible dentro del directorio mibuildout/bin sin ningún argumento. Esto creará un nuevo interprete Python dentro del directorio mibuildout/bin:

$ ./bin/buildout

Esto creará un nuevo intérprete Python dentro del directorio mibuildout/bin:

$ ./bin/python

Y luego tendrá a disposición en su PYTHONPATH el paquete que instalo zope.component, como se demuestra a continuación:

>>> import zope.component

Utilizando zc.buildout con la recipe llamado zc.recipe.egg se puede crear un intérprete de Python con los paquetes Egg Python especificados.

Este comando ejecutará un intérprete de Python que puedes usar para ejecutar el código de su proyecto.

Descarga código fuente

Para descargar el código fuente de este ejemplo ejecute el siguiente comando:

$ git clone https://github.com/plone-ve/buildout.basic.git

Conclusiones

Este ejemplo intenta mostrar las capacidades del zc.buildout con el interprete Python de su entorno de desarrollo.




Editar este documento

El código fuente de este archivo esta hospedado en GitHub. Todos pueden actualizar y corregir errores en este documento con unos clic - sin necesidad de descargar.

  1. Valla a Replicación de proyectos Python en GitHub.
  2. Presione el botón Fork. Este creara su propia copia personal de la documentación.
  3. Edite los archivos usando el editor de texto de GitHub desde su navegador Web
  4. Rellene en la caja de texto Commit message al final de la pagina indicando por que usted realizo estos cambios. Presione el botón Propose file change próximo a ese cuando allá finalizado.
  5. Luego diríjase a la página Send a pull request (no será necesario rellenar ningún texto adicional). Sólo tiene que pulsar el botón Send pull request.
  6. Sus cambios ahora sera consultados para un revisor dentro de la pestaña Pull requests del proyecto en Github.

Para mas información básica acerca de como actualizar este manual y referencia a sintaxis Sphinx, por favor consulte la guía Escribiendo y actualizando el manual.