SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Virtualenv y
Buildout
Desarrollando con Python en un ambiente
aislado y estable
Creada por /Alvaro J. Hernández Arteaga @ajha63
virtualenv
virtualenv: es una herramienta para crear entornos Python aislados,
también conocidos como sandbox.
buildout
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.
Buildout permite crear una configuración buildout y reproducir el
mismo software más tarde.
virtualenv
manos a la obra!
instalando virtualenv
para instalar virtualenv necesitamos easy_install para verificar que
easy_install esta disponible en nuestro equipo ejecutamos el comando
desde una consola
ajha63@kingofpain~$easy_install-h
habemus easy_install
Sí 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~$pythondistribute_setup.py
Sí la ejecución falla
ajha63@kingofpain~$sudopythondistribute_setup.py
I ve got the power!
Ahora...!
Ya con easy_instal en nuestro equipo podemos proceder a instalar
virtualenv
Mejor si es como root!
ajha63@kingofpain~$sudoeasy_install-Uvirtualenv
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 un
directorio src/ dónde hacemos nuestros programas.
ajha63@kingofpain~$cdsrc
ajha63@kingofpain~/src$virtualenv--no-site-packagesplone-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 de
directorios e instalo toda o casi toda la base para el desarrollo con
Python
bin/
include/
lib/
local/
vamonos a una consola ...!
Observacion!
La pareja easy_install y virtualenv por ahora no proporciona la biblioteca
de desarrollo para gráficas con Python así que, sí la necesitas, se debe
instalar por separado pero, ahora en nuestro ambiente de desarrollo.
PIL
Python 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 plataformas
http://pythonware.com/products/pil/
Instalar PIL
Después de descargar la biblioteca PIL procedemos a descomprimir y
posteriormente a instalarlar en nuestro entorno aislado
ajha63@kingofpain~$cddownload/
ajha63@kingofpain~$tarxvzfImaging-1.1.7.tar.gz
ajha63@kingofpain~$cdImaging-1.1.7/
ajha63@kingofpain~$~/src/plone-dev/bin/pythonsetup.pyinstall
ajha63@kingofpain~$~/src/plone-dev/bin/pythonsetup.pyinstall
Escribimos la ruta completa de nuestro entorno aislado de desarrollo
para instalar con el interprete Python ahí disponible, la biblioteca PIL, de
esta manera aseguramos que quede perfectamente enlazada
virtualenv
....listo!
buildout
Creando con ...
Siempre hay dos
Un maestro y un aprendiz
Existen dos maneras de iniciar un proyecto con buildout, la primera
utilizando zc.buildout para crear nuestra propia receta; la segunda,
utilizando una de las tantas recetas buildout.
http://www.buildout.org/docs/recipelist.html
zc.buildout
Nos permite crear un proyecto desde cero dónde nosotros mismos
debemos crear nuestro archivo básico de configuranción buildout.cfg y
posteriormente ir agregando cada uno de los elementos necesrios para
el proyecto
ajha63@kingofpain~$~/src/plone-dev/easy_installzc.buildout
ajha63@kingofpain~$~/src/plone-dev/buildoutinit
buildout init creara lo necesario para iniciar un proyecto, incluyendo un
archivo de configuración buildout.cfg
buildout recipes
Sí 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 rueda
www.buildout.org/docs/recipelist
Plone recipe
Para 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 un
archivos de configuración buildout buildout.cfg y luego ejecutamos el
comando respectivo para iniciar el proceso de construcción
bootstrap.py
ajha63@kingofpain~$~/src/plone-dev/bin/pythonbootstrap.py--distribute
Preguntas...?
...Yo vivo de preguntar, saber no puede ser
lujo!
Puedes leer esta presentacion
en línea en
Ohttp://www.alvaro.web.ve/charlasweb/virtualenvbuildout.html
http://www.alvaro.web.ve/charlasweb/VirtualenvBuildout.pdf
también en
http://www.slideshare.net/ajha/
Fin
Alvaro J. Hernández Arteaga
/http://www.alvaro.web.ve @ajha63

Más contenido relacionado

La actualidad más candente

Java y sus caracteristicas
Java y sus caracteristicasJava y sus caracteristicas
Java y sus caracteristicas
Any Saula
 

La actualidad más candente (20)

Open Build Service
Open Build ServiceOpen Build Service
Open Build Service
 
Tutorial aTuve Catcher
Tutorial aTuve CatcherTutorial aTuve Catcher
Tutorial aTuve Catcher
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open source
 
Gentoo linux
Gentoo linux Gentoo linux
Gentoo linux
 
Instalacion ubuntu11.1
Instalacion ubuntu11.1Instalacion ubuntu11.1
Instalacion ubuntu11.1
 
Debian
DebianDebian
Debian
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación Docker
 
Cloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. VagrantCloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. Vagrant
 
Gentoo Linux
Gentoo LinuxGentoo Linux
Gentoo Linux
 
Cloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. AnsibleCloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. Ansible
 
Java y sus caracteristicas
Java y sus caracteristicasJava y sus caracteristicas
Java y sus caracteristicas
 
Administración básica de ubuntu server parte 1
Administración básica de ubuntu server   parte 1Administración básica de ubuntu server   parte 1
Administración básica de ubuntu server parte 1
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 
Primeros pasos con Docker
Primeros pasos con DockerPrimeros pasos con Docker
Primeros pasos con Docker
 
Software Libre en la Carrera de Ciencias de la Computacion
Software Libre en la Carrera de Ciencias de la ComputacionSoftware Libre en la Carrera de Ciencias de la Computacion
Software Libre en la Carrera de Ciencias de la Computacion
 
02. que es linux 2017
02.  que es linux 201702.  que es linux 2017
02. que es linux 2017
 
Redes
RedesRedes
Redes
 
Python con Anaconda
Python con AnacondaPython con Anaconda
Python con Anaconda
 
Contenedores en el mundo real
Contenedores en el mundo realContenedores en el mundo real
Contenedores en el mundo real
 
El proyecto openSUSE
El proyecto openSUSEEl proyecto openSUSE
El proyecto openSUSE
 

Destacado

Colleen P Cahill Econometrics II Presentation
Colleen P Cahill Econometrics II PresentationColleen P Cahill Econometrics II Presentation
Colleen P Cahill Econometrics II Presentation
colleenpcahill
 
Colleen P Cahill Econometrics Work Example
Colleen P Cahill Econometrics Work ExampleColleen P Cahill Econometrics Work Example
Colleen P Cahill Econometrics Work Example
colleenpcahill
 
Colleen P Cahill Writing Sample Brownfields Redevelopment Select Pages
Colleen P Cahill Writing Sample   Brownfields Redevelopment Select PagesColleen P Cahill Writing Sample   Brownfields Redevelopment Select Pages
Colleen P Cahill Writing Sample Brownfields Redevelopment Select Pages
colleenpcahill
 
Colleen P Cahill Writing Sample Econometrics II Select Pages
Colleen P Cahill Writing Sample   Econometrics II Select PagesColleen P Cahill Writing Sample   Econometrics II Select Pages
Colleen P Cahill Writing Sample Econometrics II Select Pages
colleenpcahill
 

Destacado (7)

Colleen P Cahill Endorsements
Colleen P Cahill  EndorsementsColleen P Cahill  Endorsements
Colleen P Cahill Endorsements
 
Colleen P Cahill Econometrics II Presentation
Colleen P Cahill Econometrics II PresentationColleen P Cahill Econometrics II Presentation
Colleen P Cahill Econometrics II Presentation
 
Colleen P Cahill Econometrics Work Example
Colleen P Cahill Econometrics Work ExampleColleen P Cahill Econometrics Work Example
Colleen P Cahill Econometrics Work Example
 
Colleen P Cahill Writing Sample Brownfields Redevelopment Select Pages
Colleen P Cahill Writing Sample   Brownfields Redevelopment Select PagesColleen P Cahill Writing Sample   Brownfields Redevelopment Select Pages
Colleen P Cahill Writing Sample Brownfields Redevelopment Select Pages
 
Colleen P Cahill Writing Sample Econometrics II Select Pages
Colleen P Cahill Writing Sample   Econometrics II Select PagesColleen P Cahill Writing Sample   Econometrics II Select Pages
Colleen P Cahill Writing Sample Econometrics II Select Pages
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 

Similar a Virtualenv y buildout

Programación web framework djando - noviembre de 2014
Programación web   framework djando - noviembre de 2014Programación web   framework djando - noviembre de 2014
Programación web framework djando - noviembre de 2014
SandraMartinezG
 
Crea tus instaladores para linux (fedora, ubuntu, etc) sencillamente
Crea tus instaladores para linux (fedora, ubuntu, etc) sencillamenteCrea tus instaladores para linux (fedora, ubuntu, etc) sencillamente
Crea tus instaladores para linux (fedora, ubuntu, etc) sencillamente
Kuboosoft
 
Instalacion pingüino
Instalacion pingüinoInstalacion pingüino
Instalacion pingüino
berthin
 
Tutorial instalacion my openlab en linux
Tutorial instalacion my openlab en linuxTutorial instalacion my openlab en linux
Tutorial instalacion my openlab en linux
ticomsa
 
97132962-instalacion-de-open meetings-en-squeeze
 97132962-instalacion-de-open meetings-en-squeeze 97132962-instalacion-de-open meetings-en-squeeze
97132962-instalacion-de-open meetings-en-squeeze
xavazquez
 

Similar a Virtualenv y buildout (20)

Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
 
Programación web framework djando - noviembre de 2014
Programación web   framework djando - noviembre de 2014Programación web   framework djando - noviembre de 2014
Programación web framework djando - noviembre de 2014
 
Crea tus instaladores para linux (fedora, ubuntu, etc) sencillamente
Crea tus instaladores para linux (fedora, ubuntu, etc) sencillamenteCrea tus instaladores para linux (fedora, ubuntu, etc) sencillamente
Crea tus instaladores para linux (fedora, ubuntu, etc) sencillamente
 
Programación web framework django - noviembre de 2014
Programación web   framework django - noviembre de 2014Programación web   framework django - noviembre de 2014
Programación web framework django - noviembre de 2014
 
Linux operaciones básicas
Linux operaciones básicasLinux operaciones básicas
Linux operaciones básicas
 
Instalacion pingüino
Instalacion pingüinoInstalacion pingüino
Instalacion pingüino
 
Servidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/LinuxServidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/Linux
 
Pylons
PylonsPylons
Pylons
 
Tutorial instalacion my openlab en linux
Tutorial instalacion my openlab en linuxTutorial instalacion my openlab en linux
Tutorial instalacion my openlab en linux
 
Despues de instalar fedora 14
Despues de instalar fedora 14Despues de instalar fedora 14
Despues de instalar fedora 14
 
Segunda clase, del curso de Microcomputadoras
Segunda clase, del curso de MicrocomputadorasSegunda clase, del curso de Microcomputadoras
Segunda clase, del curso de Microcomputadoras
 
Python Para S60
Python Para S60Python Para S60
Python Para S60
 
97132962-instalacion-de-open meetings-en-squeeze
 97132962-instalacion-de-open meetings-en-squeeze 97132962-instalacion-de-open meetings-en-squeeze
97132962-instalacion-de-open meetings-en-squeeze
 
Manual de Linux
Manual de LinuxManual de Linux
Manual de Linux
 
Cuckoo sandbox
Cuckoo sandboxCuckoo sandbox
Cuckoo sandbox
 
Instalacion de biicode
Instalacion de biicodeInstalacion de biicode
Instalacion de biicode
 
Cuckoosandbox
CuckoosandboxCuckoosandbox
Cuckoosandbox
 
Magallanes, Herramienta de despliegue PHP sencilla y poderosa
Magallanes, Herramienta de despliegue PHP sencilla y poderosa�Magallanes, Herramienta de despliegue PHP sencilla y poderosa�
Magallanes, Herramienta de despliegue PHP sencilla y poderosa
 
Cuckoo sandbox
Cuckoo sandboxCuckoo sandbox
Cuckoo sandbox
 
03.pdf
03.pdf03.pdf
03.pdf
 

Último

4.- COMO HACER QUE TE PASEN COSAS BUENAS.pdf
4.- COMO HACER QUE TE PASEN COSAS BUENAS.pdf4.- COMO HACER QUE TE PASEN COSAS BUENAS.pdf
4.- COMO HACER QUE TE PASEN COSAS BUENAS.pdf
MiNeyi1
 

Último (12)

PROCESO DE PLANEACIÓN PASTORAL PARTICIPATIVA nuevo.pdf
PROCESO DE PLANEACIÓN PASTORAL PARTICIPATIVA nuevo.pdfPROCESO DE PLANEACIÓN PASTORAL PARTICIPATIVA nuevo.pdf
PROCESO DE PLANEACIÓN PASTORAL PARTICIPATIVA nuevo.pdf
 
4.- COMO HACER QUE TE PASEN COSAS BUENAS.pdf
4.- COMO HACER QUE TE PASEN COSAS BUENAS.pdf4.- COMO HACER QUE TE PASEN COSAS BUENAS.pdf
4.- COMO HACER QUE TE PASEN COSAS BUENAS.pdf
 
Revista Actualidad Espiritista N°33.pdf
Revista  Actualidad Espiritista N°33.pdfRevista  Actualidad Espiritista N°33.pdf
Revista Actualidad Espiritista N°33.pdf
 
CATEQUESIS SOBRE LA FE CATÓLICA PARA ADULTOS
CATEQUESIS SOBRE LA FE CATÓLICA PARA ADULTOSCATEQUESIS SOBRE LA FE CATÓLICA PARA ADULTOS
CATEQUESIS SOBRE LA FE CATÓLICA PARA ADULTOS
 
organizador visula diversidad linguistica y etnica.docx
organizador visula diversidad linguistica y etnica.docxorganizador visula diversidad linguistica y etnica.docx
organizador visula diversidad linguistica y etnica.docx
 
ESCATOLOGÍA: LA FUERZA Y ESPERANZA DEL VERDADERO PUEBLO DE YHWH.pdf
ESCATOLOGÍA: LA FUERZA Y ESPERANZA DEL VERDADERO PUEBLO DE YHWH.pdfESCATOLOGÍA: LA FUERZA Y ESPERANZA DEL VERDADERO PUEBLO DE YHWH.pdf
ESCATOLOGÍA: LA FUERZA Y ESPERANZA DEL VERDADERO PUEBLO DE YHWH.pdf
 
Programa - CIEI 2024.pdf Desafíos, avances y recomendaciones en el acceso a ...
Programa - CIEI 2024.pdf Desafíos, avances y recomendaciones en el acceso a ...Programa - CIEI 2024.pdf Desafíos, avances y recomendaciones en el acceso a ...
Programa - CIEI 2024.pdf Desafíos, avances y recomendaciones en el acceso a ...
 
Uso correcto del silbato y formaciones.pdf
Uso correcto del silbato y formaciones.pdfUso correcto del silbato y formaciones.pdf
Uso correcto del silbato y formaciones.pdf
 
El enamoramiento es una fuente de inspiración.pdf
El enamoramiento es una fuente de inspiración.pdfEl enamoramiento es una fuente de inspiración.pdf
El enamoramiento es una fuente de inspiración.pdf
 
LAS CIRCULARES Y MIS COMUNICADOS de los Maestres COMENTADOS.docx
LAS CIRCULARES Y MIS COMUNICADOS de los Maestres COMENTADOS.docxLAS CIRCULARES Y MIS COMUNICADOS de los Maestres COMENTADOS.docx
LAS CIRCULARES Y MIS COMUNICADOS de los Maestres COMENTADOS.docx
 
el desafío del amor .pdf el desafío del amor
el desafío del amor .pdf el desafío del amorel desafío del amor .pdf el desafío del amor
el desafío del amor .pdf el desafío del amor
 
Virginia-Satir (1).pptx Autoestima y desarrollo personal
Virginia-Satir (1).pptx Autoestima y desarrollo personalVirginia-Satir (1).pptx Autoestima y desarrollo personal
Virginia-Satir (1).pptx Autoestima y desarrollo personal
 

Virtualenv y buildout

  • 1. Virtualenv y Buildout Desarrollando con Python en un ambiente aislado y estable Creada por /Alvaro J. Hernández Arteaga @ajha63
  • 2. virtualenv virtualenv: es una herramienta para crear entornos Python aislados, también conocidos como sandbox.
  • 3. buildout 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. Buildout permite crear una configuración buildout y reproducir el mismo software más tarde.
  • 5. instalando virtualenv para instalar virtualenv necesitamos easy_install para verificar que easy_install esta disponible en nuestro equipo ejecutamos el comando desde una consola ajha63@kingofpain~$easy_install-h
  • 6. habemus easy_install Sí 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~$pythondistribute_setup.py
  • 7. Sí la ejecución falla ajha63@kingofpain~$sudopythondistribute_setup.py
  • 8. I ve got the power!
  • 9. Ahora...! Ya con easy_instal en nuestro equipo podemos proceder a instalar virtualenv Mejor si es como root! ajha63@kingofpain~$sudoeasy_install-Uvirtualenv
  • 10. virtualenv ready! Una vez que virtualenv puede ser utilizado, podemos crear nuestro ambiente aislado de desarrollo.
  • 11. Suponinedo que estamos en nuestro /home y que ahí tenemos un directorio src/ dónde hacemos nuestros programas. ajha63@kingofpain~$cdsrc ajha63@kingofpain~/src$virtualenv--no-site-packagesplone-dev Nos dejará un directorio plone-dev/ que será nuestro ambiente aislado (sandbox) de desarrollo con Python
  • 12. Una mirada dentro de plone- dev Dentro del directorio plone-dev/ virtualenv creo una estructura de directorios e instalo toda o casi toda la base para el desarrollo con Python bin/ include/ lib/ local/ vamonos a una consola ...!
  • 13. Observacion! La pareja easy_install y virtualenv por ahora no proporciona la biblioteca de desarrollo para gráficas con Python así que, sí la necesitas, se debe instalar por separado pero, ahora en nuestro ambiente de desarrollo.
  • 14. PIL Python 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 plataformas http://pythonware.com/products/pil/
  • 15. Instalar PIL Después de descargar la biblioteca PIL procedemos a descomprimir y posteriormente a instalarlar en nuestro entorno aislado ajha63@kingofpain~$cddownload/ ajha63@kingofpain~$tarxvzfImaging-1.1.7.tar.gz ajha63@kingofpain~$cdImaging-1.1.7/ ajha63@kingofpain~$~/src/plone-dev/bin/pythonsetup.pyinstall
  • 16. ajha63@kingofpain~$~/src/plone-dev/bin/pythonsetup.pyinstall Escribimos la ruta completa de nuestro entorno aislado de desarrollo para instalar con el interprete Python ahí disponible, la biblioteca PIL, de esta manera aseguramos que quede perfectamente enlazada
  • 19. Siempre hay dos Un maestro y un aprendiz Existen dos maneras de iniciar un proyecto con buildout, la primera utilizando zc.buildout para crear nuestra propia receta; la segunda, utilizando una de las tantas recetas buildout. http://www.buildout.org/docs/recipelist.html
  • 20. zc.buildout Nos permite crear un proyecto desde cero dónde nosotros mismos debemos crear nuestro archivo básico de configuranción buildout.cfg y posteriormente ir agregando cada uno de los elementos necesrios para el proyecto
  • 21. ajha63@kingofpain~$~/src/plone-dev/easy_installzc.buildout ajha63@kingofpain~$~/src/plone-dev/buildoutinit buildout init creara lo necesario para iniciar un proyecto, incluyendo un archivo de configuración buildout.cfg
  • 22. buildout recipes Sí 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 rueda www.buildout.org/docs/recipelist
  • 23. Plone recipe Para 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 un archivos de configuración buildout buildout.cfg y luego ejecutamos el comando respectivo para iniciar el proceso de construcción bootstrap.py ajha63@kingofpain~$~/src/plone-dev/bin/pythonbootstrap.py--distribute
  • 24. Preguntas...? ...Yo vivo de preguntar, saber no puede ser lujo!
  • 25. Puedes leer esta presentacion en línea en Ohttp://www.alvaro.web.ve/charlasweb/virtualenvbuildout.html http://www.alvaro.web.ve/charlasweb/VirtualenvBuildout.pdf también en http://www.slideshare.net/ajha/
  • 26. Fin Alvaro J. Hernández Arteaga /http://www.alvaro.web.ve @ajha63