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

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 sourcescrumecuador
 
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. Vagrantpacvslideshare
 
Gentoo Linux
Gentoo LinuxGentoo Linux
Gentoo Linuxninfaflom
 
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. Ansiblepacvslideshare
 
Java y sus caracteristicas
Java y sus caracteristicasJava y sus caracteristicas
Java y sus caracteristicasAny Saula
 
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 1Santiago Márquez Solís
 
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 dockerChristian Rodriguez
 
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 ComputacionJuan Vladimir
 
Contenedores en el mundo real
Contenedores en el mundo realContenedores en el mundo real
Contenedores en el mundo realSoftware Guru
 

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 Endorsements
Colleen P Cahill  EndorsementsColleen P Cahill  Endorsements
Colleen P Cahill Endorsementscolleenpcahill
 
Colleen P Cahill Econometrics II Presentation
Colleen P Cahill Econometrics II PresentationColleen P Cahill Econometrics II Presentation
Colleen P Cahill Econometrics II Presentationcolleenpcahill
 
Colleen P Cahill Econometrics Work Example
Colleen P Cahill Econometrics Work ExampleColleen P Cahill Econometrics Work Example
Colleen P Cahill Econometrics Work Examplecolleenpcahill
 
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 Pagescolleenpcahill
 
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 Pagescolleenpcahill
 
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 FormatsBarry Feldman
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome EconomyHelge Tennø
 

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 2014SandraMartinezG
 
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) sencillamenteKuboosoft
 
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 2014Eduardo Ernesto Lechuga
 
Linux operaciones básicas
Linux operaciones básicasLinux operaciones básicas
Linux operaciones básicaspaultca
 
Instalacion pingüino
Instalacion pingüinoInstalacion pingüino
Instalacion pingüinoberthin
 
Servidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/LinuxServidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/Linuxfraterneo GNU/Linux
 
Tutorial instalacion my openlab en linux
Tutorial instalacion my openlab en linuxTutorial instalacion my openlab en linux
Tutorial instalacion my openlab en linuxticomsa
 
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-squeezexavazquez
 
Cuckoo sandbox
Cuckoo sandboxCuckoo sandbox
Cuckoo sandboxTensor
 
Instalacion de biicode
Instalacion de biicodeInstalacion de biicode
Instalacion de biicodeJulia S. Simon
 
Cuckoosandbox
CuckoosandboxCuckoosandbox
CuckoosandboxTensor
 
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 poderosaFco Javier Núñez Berrocoso
 
Cuckoo sandbox
Cuckoo sandboxCuckoo sandbox
Cuckoo sandboxTensor
 

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

(1)Estudio Biblico del CUERPO, ALMA & ESPÍRITU.pptx
(1)Estudio Biblico del CUERPO, ALMA & ESPÍRITU.pptx(1)Estudio Biblico del CUERPO, ALMA & ESPÍRITU.pptx
(1)Estudio Biblico del CUERPO, ALMA & ESPÍRITU.pptxLuis Zepeda Mir
 
misa por el dia de la madre OFRECIDA POR DOCENTES
misa por el dia de la madre OFRECIDA POR DOCENTESmisa por el dia de la madre OFRECIDA POR DOCENTES
misa por el dia de la madre OFRECIDA POR DOCENTESjoelpablosotoosorio9
 
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.pdfyhostend
 
ROSARIO GUIADO DE LA VIRGEN DE GUADALUPE.docx
ROSARIO GUIADO DE LA VIRGEN DE GUADALUPE.docxROSARIO GUIADO DE LA VIRGEN DE GUADALUPE.docx
ROSARIO GUIADO DE LA VIRGEN DE GUADALUPE.docxjdary931
 
SISTEMA ENDOCRINO con sus características
SISTEMA ENDOCRINO con sus característicasSISTEMA ENDOCRINO con sus características
SISTEMA ENDOCRINO con sus característicasDanielGuillen38
 
Cristiano RONALDO ES UN EJEMPLO A SEGUIR .pdf
Cristiano RONALDO ES UN EJEMPLO A SEGUIR .pdfCristiano RONALDO ES UN EJEMPLO A SEGUIR .pdf
Cristiano RONALDO ES UN EJEMPLO A SEGUIR .pdfJustinCagua1
 
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 personalCHUPACABRA6
 
GENERALIDADES DEL M.T.R.R como disciplina militar doctrina.pptx
GENERALIDADES DEL M.T.R.R como disciplina militar doctrina.pptxGENERALIDADES DEL M.T.R.R como disciplina militar doctrina.pptx
GENERALIDADES DEL M.T.R.R como disciplina militar doctrina.pptxalbepch
 
(50) Estudio Biblico del libro de FILIPENSES.pptx
(50) Estudio Biblico del libro de FILIPENSES.pptx(50) Estudio Biblico del libro de FILIPENSES.pptx
(50) Estudio Biblico del libro de FILIPENSES.pptxLuis Zepeda Mir
 
CURSO BÁSICO ÁNGELES Y ÁRCANGELES.pdf
CURSO  BÁSICO  ÁNGELES Y  ÁRCANGELES.pdfCURSO  BÁSICO  ÁNGELES Y  ÁRCANGELES.pdf
CURSO BÁSICO ÁNGELES Y ÁRCANGELES.pdfestudiosespiritasdep
 
tarjeta personal de trabajo en la universidad
tarjeta personal de trabajo en la universidadtarjeta personal de trabajo en la universidad
tarjeta personal de trabajo en la universidadpe0939
 
Codependencia y dependencia emocional pdf
Codependencia y dependencia emocional pdfCodependencia y dependencia emocional pdf
Codependencia y dependencia emocional pdfmagicproductsxq
 

Último (13)

(1)Estudio Biblico del CUERPO, ALMA & ESPÍRITU.pptx
(1)Estudio Biblico del CUERPO, ALMA & ESPÍRITU.pptx(1)Estudio Biblico del CUERPO, ALMA & ESPÍRITU.pptx
(1)Estudio Biblico del CUERPO, ALMA & ESPÍRITU.pptx
 
LEY DE LA GRATITUD21..................pdf
LEY  DE LA GRATITUD21..................pdfLEY  DE LA GRATITUD21..................pdf
LEY DE LA GRATITUD21..................pdf
 
misa por el dia de la madre OFRECIDA POR DOCENTES
misa por el dia de la madre OFRECIDA POR DOCENTESmisa por el dia de la madre OFRECIDA POR DOCENTES
misa por el dia de la madre OFRECIDA POR DOCENTES
 
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
 
ROSARIO GUIADO DE LA VIRGEN DE GUADALUPE.docx
ROSARIO GUIADO DE LA VIRGEN DE GUADALUPE.docxROSARIO GUIADO DE LA VIRGEN DE GUADALUPE.docx
ROSARIO GUIADO DE LA VIRGEN DE GUADALUPE.docx
 
SISTEMA ENDOCRINO con sus características
SISTEMA ENDOCRINO con sus característicasSISTEMA ENDOCRINO con sus características
SISTEMA ENDOCRINO con sus características
 
Cristiano RONALDO ES UN EJEMPLO A SEGUIR .pdf
Cristiano RONALDO ES UN EJEMPLO A SEGUIR .pdfCristiano RONALDO ES UN EJEMPLO A SEGUIR .pdf
Cristiano RONALDO ES UN EJEMPLO A SEGUIR .pdf
 
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
 
GENERALIDADES DEL M.T.R.R como disciplina militar doctrina.pptx
GENERALIDADES DEL M.T.R.R como disciplina militar doctrina.pptxGENERALIDADES DEL M.T.R.R como disciplina militar doctrina.pptx
GENERALIDADES DEL M.T.R.R como disciplina militar doctrina.pptx
 
(50) Estudio Biblico del libro de FILIPENSES.pptx
(50) Estudio Biblico del libro de FILIPENSES.pptx(50) Estudio Biblico del libro de FILIPENSES.pptx
(50) Estudio Biblico del libro de FILIPENSES.pptx
 
CURSO BÁSICO ÁNGELES Y ÁRCANGELES.pdf
CURSO  BÁSICO  ÁNGELES Y  ÁRCANGELES.pdfCURSO  BÁSICO  ÁNGELES Y  ÁRCANGELES.pdf
CURSO BÁSICO ÁNGELES Y ÁRCANGELES.pdf
 
tarjeta personal de trabajo en la universidad
tarjeta personal de trabajo en la universidadtarjeta personal de trabajo en la universidad
tarjeta personal de trabajo en la universidad
 
Codependencia y dependencia emocional pdf
Codependencia y dependencia emocional pdfCodependencia y dependencia emocional pdf
Codependencia y dependencia emocional pdf
 

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