Creación de entornos virtuales Python

¿Qué es virtualenv?

virtualenv, es una herramienta para crear entornos virtuales (aislados) en Python.

¿Por que crear entornos virtuales en Python?

Si usted está en un sistema Linux, BSD, Cygwin, u otros similares a Unix como sistema operativo, pero no tienen acceso al usuario root, puede crear su propio entorno virtual (instalación) Python, que utiliza su propia biblioteca de directorios y algunos enlaces simbólicos hacia todo el directorio de instalación del Python de su sistema.

En el caso más simple, su instalación virtual de Python que viven bajo el directorio home del usuario ~/. Utilice la opción --help para obtener la lista completa de las opciones disponibles la herramienta virtualenv.

Cuando haya terminado la creación del entorno virtual, tendrá un ejecutable de python local al usuario que lo creó (por ejemplo ~/bin/python) que está vinculado a la instalación del Python de su sistema /usr/bin/python y hereda todas sus librerías actuales, pero además le permite añadir nuevas librerías tanto como usted lo desee.

Sólo tiene que utilizar este nuevo Python en lugar de la instalación Python de su sistema, y puede modificarlo a su gusto sin dañar nada del Python de su sistema operativo. De igual forma usted debe seguir usando las instrucciones de instalación estándar para instalar setuptools y EasyInstall o Distribute y pip, desde su nueva instalación (~/bin/python) Python en lugar del Python de su sistema /usr/bin/python.

Entornos virtuales de Python locales al usuario

Para evitar usar la instalación base del Python de tu sistema, que previamente tiene instalada, se recomienda instalar un entorno de virtual de Python local al usuario, algunos casos de usos para virtualenv, se describe a continuación:

  • No es necesarios permisos de administración para instalar librerías y aplicaciones Python, ya que estas se hace locales en al directorio del usuario.
  • Mayor comodidad de trabajar con versiones de librerías y aplicaciones más actuales las que maneja tu sistema.

Modos de Instalación

Para instalar paquete virtualenv en su sistema puede instalarlo con Setuptools, Distribute para paquete Egg o por sistema paquete Debian

Instalación con paquete Debian

Para instalar virtualenv en distribuciones basadas en Debian GNU/Linux como paquete Debian, debe instalar los requisitos previos con el siguiente comando:

# aptitude install libc6-dev python-dev python-virtualenv

Nota

A veces es mejor instalar la versión más reciente del paquete virtualenv desde el repositorio PyPI, debido que siempre la versión de Debian no esta actualizada con respecto a la versión publicada en el repositorio PyPI.

Instalación con Setuptools

Para instalar virtualenv en distribuciones basadas en Debian GNU/Linux con Setuptools, debe instalar los requisitos previos con el siguiente comando:

# aptitude install libc6-dev python-dev python-setuptools

Luego debe instalar la versión más reciente del paquete virtualenv desde el repositorio PyPI, entonces debe instalar con el siguiente comando:

# easy_install virtualenv

Instalación con Distribute

Para instalar virtualenv en distribuciones basadas en Debian GNU/Linux con Distribute, debe instalar los requisitos previos con el siguiente comando:

# aptitude install libc6-dev python-dev python-distribute python-pip

Luego debe instalar la versión más reciente del paquete virtualenv desde el repositorio PyPI, entonces debe instalar con el siguiente comando:

# pip install virtualenv

Creando entornos virtuales de Python locales al usuario

Preparando la estructura de directorios de los Virtualenv en usuario local, es una buena practica organizativa más no es un estándar por defecto en la comunidad Python para esto muestro una forma de trabajo y se realizan ejecutando los siguientes comando:

$ cd $HOME ; mkdir ./virtualenv ; cd virtualenv

Crear entorno virtual del Python 2.7 de tu sistema al directorio ~/virtualenv del usuario, ejecutando el siguiente comando:

$ virtualenv --python=/usr/bin/python2.7 python2.7

Usar distribute en virtualenv

Opcionalmente puede usar distribute en virtualenv para esto debe ejecutar el siguiente comando:

$ virtualenv --distribute --python=/usr/bin/python2.7 python2.7

Nota

Este paso de creación del entorno virtual solo se realiza cada ves que necesite crear un entorno virtual nuevo para sus proyectos Python.

Activar el entorno virtual

Activar el entorno virtual creado previamente, ejecutando el siguiente comando:

$ source ./python2.7/bin/activate

Hasta este momento tiene activada el entorno virtual usted puede verificar esto debido a que su shell de comando inicia con el siguiente prefijo (python2.7), entiendo que este prefijo es el nombre de entorno virtual que usted acaba de activar.

Aquí ya puede usar herramientas como easy_install o pip para instalar paquetes Egg....

Nota

Cada ves que necesite trabajar dentro del entorno virtual necesita activar este mismo.

Desactivar el entorno virtual

Cuando termine de usar el entorno virtual puede desactivarlo de la siguiente forma:

(python2.7)$ deactivate

De esta forma ya puedes realizar operaciones de shell fuera del entorno virtual.

Nota

Cada ves que necesite salirse del entorno virtual necesita desactivar este mismo.

Aprovechamiento

El trabajar con la herramienta le permite tener varios entornos aislados de pruebas tanto en la misma versión de Python 2.7 como en diversas versiones Python, como por ejemplo Python 2.4 y Python 2.7, entre otras más ventajas.

los comentarios son proporcionados por Disqus

Editar este documento

El código fuente de este archivo esta hospedado en GitHub. Todos pueden actualizar y corregir errores en este documento con unos clic - sin necesidad de descargar.

  1. Vaya hacia el articulo Creación de entornos virtuales Python en GitHub.
  2. Presione el botón Fork. Este creara su propia copia personal de la documentación.
  3. Edite los archivos usando el editor de texto de GitHub desde su navegador Web
  4. Rellene en la caja de texto Commit message al final de la pagina indicando por que usted realizo estos cambios. Presione el botón Propose file change próximo a ese cuando haya finalizado.
  5. Luego diríjase a la página Send a pull request (no será necesario rellenar ningún texto adicional). Sólo tiene que pulsar el botón Send pull request.
  6. Sus cambios serán consultados por un revisor dentro de la pestaña Pull requests del proyecto en Github.

Para mas información básica acerca de como actualizar este manual y referencia a sintaxis Sphinx, por favor consulte la guía Escribiendo y actualizando el manual.