virtualenv y buildout

26
Virtualenv y Buildout Desarrollando con Python en un ambiente aislado y estable Creada por / Alvaro J. Hernández Arteaga @ajha63

Upload: alvaro-hernandez

Post on 27-Jun-2015

154 views

Category:

Self Improvement


0 download

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

Page 1: Virtualenv y buildout

Virtualenv yBuildout

Desarrollando con Python en un ambienteaislado y estable

Creada por / Alvaro J. Hernández Arteaga @ajha63

Page 2: Virtualenv y buildout

virtualenvvirtualenv: es una herramienta para crear entornos Python aislados,

también conocidos como sandbox.

Page 3: Virtualenv y buildout

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.

Page 4: Virtualenv y buildout

virtualenvmanos a la obra!

Page 5: Virtualenv y buildout

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

Page 6: Virtualenv y buildout

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

Page 7: Virtualenv y buildout

Sí la ejecución fallaajha63@kingofpain~$ sudo python distribute_setup.py

Page 8: Virtualenv y buildout

I ve got the power!

Page 9: Virtualenv y buildout

Ahora...!Ya con easy_instal en nuestro equipo podemos proceder a instalar

virtualenvMejor si es como root!

ajha63@kingofpain~$ sudo easy_install -U virtualenv

Page 10: Virtualenv y buildout

virtualenv ready!Una vez que virtualenv puede ser utilizado, podemos crear nuestro

ambiente aislado de desarrollo.

Page 11: Virtualenv y buildout

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

Page 12: Virtualenv y buildout

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 ...!

Page 13: Virtualenv y buildout

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.

Page 14: Virtualenv y buildout

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/

Page 15: Virtualenv y buildout

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

Page 16: Virtualenv y buildout

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

Page 17: Virtualenv y buildout

virtualenv....listo!

Page 18: Virtualenv y buildout

buildoutCreando con ...

Page 19: Virtualenv y buildout

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

Page 20: Virtualenv y buildout

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

Page 21: Virtualenv y buildout

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

Page 22: Virtualenv y buildout

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

Page 23: Virtualenv y buildout

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

Page 24: Virtualenv y buildout

Preguntas...?...Yo vivo de preguntar, saber no puede ser

lujo!

Page 25: Virtualenv y buildout

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/

Page 26: Virtualenv y buildout

FinAlvaro J. Hernández Arteaga

/ http://www.alvaro.web.ve @ajha63