virtualenv y buildout
DESCRIPTION
Desarrollando con Python en un ambiente aislado y estable. virtualenv: es una herramienta para crear entornos Python aislados, también conocidos como sandbox. buildout: es un sistema de construcción(desarrollo) basado en Python para crear, ensamblar e implementar aplicaciones de varias piezas, algunas de las cuales pueden ser no basadas en Python.TRANSCRIPT
Virtualenv yBuildout
Desarrollando con Python en un ambienteaislado y estable
Creada por / Alvaro J. Hernández Arteaga @ajha63
virtualenvvirtualenv: es una herramienta para crear entornos Python aislados,
también conocidos como sandbox.
buildoutbuildout: es un sistema de construcción(desarrollo) basado en Python
para crear, ensamblar e implementar aplicaciones de varias piezas,algunas de las cuales pueden ser no basadas en Python.
Buildout permite crear una configuración buildout y reproducir elmismo software más tarde.
virtualenvmanos a la obra!
instalando virtualenvpara instalar virtualenv necesitamos easy_install para verificar que
easy_install esta disponible en nuestro equipo ejecutamos el comandodesde una consola
ajha63@kingofpain~$ easy_install -h
habemus easy_installSí la ejecución del comando nos muestra la ayuda del comando
easy_install, quiere decir que la herramienta esta disponible sino,debemos primero proceder a instalarlo, para ello descargamos el
archivo distribute_setup.py desde la URL para luego ejecutar la siguiente instrucción
http://python-distribute.org/
ajha63@kingofpain~$ python distribute_setup.py
Sí la ejecución fallaajha63@kingofpain~$ sudo python distribute_setup.py
I ve got the power!
Ahora...!Ya con easy_instal en nuestro equipo podemos proceder a instalar
virtualenvMejor si es como root!
ajha63@kingofpain~$ sudo easy_install -U virtualenv
virtualenv ready!Una vez que virtualenv puede ser utilizado, podemos crear nuestro
ambiente aislado de desarrollo.
Suponinedo que estamos en nuestro /home y que ahí tenemos undirectorio src/ dónde hacemos nuestros programas.
ajha63@kingofpain~$ cd srcajha63@kingofpain~/src$ virtualenv --no-site-packages plone-dev
Nos dejará un directorio plone-dev/ que será nuestro ambiente aislado(sandbox) de desarrollo con Python
Una mirada dentro de plone-dev
Dentro del directorio plone-dev/ virtualenv creo una estructura dedirectorios e instalo toda o casi toda la base para el desarrollo con
Pythonbin/include/lib/local/
vamonos a una consola ...!
Observacion!La pareja easy_install y virtualenv por ahora no proporciona la bibliotecade desarrollo para gráficas con Python así que, sí la necesitas, se debeinstalar por separado pero, ahora en nuestro ambiente de desarrollo.
PILPython Image Library
La última version de la biblioteca PIL puede ser descargada desde: y como estamos en Linux
descargamos (por supuesto) la versión para todas las plataformashttp://pythonware.com/products/pil/
Instalar PILDespués de descargar la biblioteca PIL procedemos a descomprimir y
posteriormente a instalarlar en nuestro entorno aislado
ajha63@kingofpain~$ cd download/ajha63@kingofpain~$ tar xvzf Imaging-1.1.7.tar.gzajha63@kingofpain~$ cd Imaging-1.1.7/ajha63@kingofpain~$ ~/src/plone-dev/bin/python setup.py install
ajha63@kingofpain~$ ~/src/plone-dev/bin/python setup.py install
Escribimos la ruta completa de nuestro entorno aislado de desarrollopara instalar con el interprete Python ahí disponible, la biblioteca PIL, de
esta manera aseguramos que quede perfectamente enlazada
virtualenv....listo!
buildoutCreando con ...
Siempre hay dosUn maestro y un aprendiz
Existen dos maneras de iniciar un proyecto con buildout, la primerautilizando zc.buildout para crear nuestra propia receta; la segunda,
utilizando una de las tantas recetas buildout.http://www.buildout.org/docs/recipelist.html
zc.buildoutNos permite crear un proyecto desde cero dónde nosotros mismos
debemos crear nuestro archivo básico de configuranción buildout.cfg yposteriormente ir agregando cada uno de los elementos necesrios para
el proyecto
ajha63@kingofpain~$~/src/plone-dev/easy_install zc.buildoutajha63@kingofpain~$~/src/plone-dev/buildout init
buildout init creara lo necesario para iniciar un proyecto, incluyendo unarchivo de configuración buildout.cfg
buildout recipesSí no queremos iniciar desde cero nuestro proyecto podemos elegir una
de las miles de recetas existentes en el sitio web y asi dar fiel cumplimiento a aquello
de no reinventar la ruedawww.buildout.org/docs/recipelist
Plone recipePara este caso utilizaremos una receta de plone y luego unos archivos
de configuración de buildout para refinar la construcción.Descargamos el archivo de bootstrap de la version 4.2 de plone y lo
ubicamos en la raíz de nuestro entorno aislado, una vez ahí, creamos unarchivos de configuración buildout buildout.cfg y luego ejecutamos el
comando respectivo para iniciar el proceso de construcciónbootstrap.py
ajha63@kingofpain~$~/src/plone-dev/bin/python bootstrap.py --distribute
Preguntas...?...Yo vivo de preguntar, saber no puede ser
lujo!
Puedes leer esta presentacionen línea en
Ohttp://www.alvaro.web.ve/charlasweb/virtualenvbuildout.htmlhttp://www.alvaro.web.ve/charlasweb/VirtualenvBuildout.pdf
también enhttp://www.slideshare.net/ajha/