domingo, 27 de febrero de 2011

crear entornos virtuales de python con virtualenv

Virtualenv nos permite crear entornos virtuales de python. Es decir, nos permite crear entornos con diferentes dependendencias instaladas. Podemos trabajar con diferentes proyectos en un misma máquina que requieran diferentes versiones del mismo paquete.

Para instalar y gestionar dichos paquetes usamos la herramienta pip. Para poder instalar pip, es necesario tener instalado easy_install. Si todavía no has instalado easy_install, hay que ejecutar el siguiente comando.

$ sudo apt-get install python-setuptools python-dev build-essential


Instalación de pip y virtualenv.

$ sudo easy_install pip
$ pip install -U virtualenv

El parámetro -U indica upgrade, lo que quiere decir que se instalará la última versión del paquete indicado.

El entorno virtual se crea sobre un directorio. En el siguiente ejemplo, se crea el directorio env.


$ virtualenv --no-site-packages env

El parámetro '--no-site-packages'  indica que no se instale ningún paquete de los que están instalados en la máquina.


Yolk es una herramienta que permite listar los paquetes instalados en un entorno virtual. Para instalar un paquete en un entorno virtual, se realiza mediante el comando pip pasándole como parámetro -E y el directorio del entorno virtual.

$ pip install -E env yolk



La herramienta yolk muestra los paquetes instalados. Pero para poder utilizarla, es necesario activar el entorno virtual. Para activarlo hay que ejecutar el siguiente comando:


$ source env/bin/activate
$ yolk -l
pip - 0.7.2 - active
setuptools - 0.6c11 - active
wsgiref - 0.1.2 - active development (/usr/lib/python2.6)
yolk - 0.4.1 - active


El comando "pip freeze" también muestra los paquetes instalados.


$ pip freeze
wsgiref==0.1.2
yolk==0.4.1


Para desactivar en entorno ejecutamos deactivate


$ deactivate

Para crear un fichero que contenga los requerimientos del entorno virtual ejecutamos el siguiente comando.


$ pip freeze -E env > requirements.txt

Etos requerimientos se pueden instalar mediante pip. http://pip.openplans.org/#requirements-files

No hay comentarios:

Publicar un comentario