Entornos virtuales en Python - virtualenv (Virtual Environments)

Hoy aprenderemos a instalar virutualenv, saber de que se trata y lo utilizaremos con unos pequeños ejemplos.
Un entorno virtual es una herramienta que se utiliza para mantener las dependencias requeridas por los diferentes proyectos en lugares separados, esto lo haremos mediante la creación de entornos virtuales de python.
Un ejemplo simple: imaginemos que estamos trabajando en un proyecto con Python 2.7 y Django 1.8, pero necesitamos comenzar a trabajar en un nuevo proyecto que requiere de Python 3.4 y Django 1.9. Utilizando virtualenv, podremos estar trabajando de manera independiente con los dos proyectos sin tener conflicto en las versiones.

Virtualenv

Virtualenv es una herramienta para crear entornos aislados en Python. Virtualenv crea una carpeta que contiene todos los ejecutables necesarios para utilizar los paquetes que necesitaría un proyecto Python.

Instalar virtualenv con pip:

$ pip install virtualenv

Puedes ver también: Como instalar pip en Linux y Windows


El uso básico:

1 - Crear un entorno virtual para un proyecto:

$ cd my_project_folder
$ virtualenv venv

virtualenv venv creará una carpeta en el directorio actual que contendrá los archivos ejecutables de Python, y una copia de la biblioteca pip así podremos instalar otros paquetes. El nombre del entorno virtual (en este caso "venv") puede ser cualquier nombre; si omitimos el nombre, los archivos serán agregados al directorio actual.

Pasos para instalar el entorno virtual
Pasos para instalar el entorno virtual

Esto crea una copia de Python dentro del directorio seleccionado (en nuestro caso my_project_folder), colocandolo en una carpeta con el nombre venv.

También puedes utilizar el interprete de Python de tu elección:

$ virtualenv -p /usr/bin/python2.7 venv

Esto utilizará el interprete de python en  /usr/bin/python2.7

2 - Para comenzar a utilizar el entorno virtual, necesita ser activado:

$ source venv/bin/activate

El nombre del entorno virtual aparecerá a la izquierda del prompt, en mi caso: ((venv)root@ubuntu:~/my_project_folder#), esto es para saber que está activo.
A partir de ahora, cada paquete que instalemos con pip se colocará en la carpeta venv, aislado de la instalación general de Python.

Instalar un paquete de ejemplo:

$ pip install requests

Instalando el paquete requests en el entorno virtual
Instalando el paquete requests en el entorno virtual

3 - Si hemos dejado de trabajar por el momento en el entorno virtual, podemos desactivarlo:

$ deactivate

Esto deja los valores del interprete de Python del sistema con todas sus bibliotecas instaladas.

Para borrar un entorno virtual, simplemente borramos sus carpeta. En este caso, podría ser: rm -rf venv

Consejo, tratar de tener un orden al crear los entornos virtuales, porque muchas veces nos olvidaremos de los nombres y que tiene instalado cada entorno virtual.

virtualenvwrapper

virtualenvwrapper proporciona un conjunto de comandos que hace más fácil el uso de los entornos virtuales. También coloca todos los entornos virtuales en un solo lugar.

Para instalarlo (debemos asegurarnos que virtualenv ya está instalado)

$ pip install virtualenvwrapper
$ export WORKON_HOME=~/Envs
$ source /usr/local/bin/virtualenvwrapper.sh

Para Windows, puedes utilizar virtualenvwrapper-win

Para instalarlo (asegurarse de que virtualenv esté instalado):

$ pip install virtualenvwrapper-win

En windows, la ruta predeterminada para WORKON_HOME es %USERPROFILE%Envs


Uso básico

1 - Crear un ambiente virtual:

$ mkvirtualenv venv

Creando ambiente virtual con virtualenvwrapper
Creando ambiente virtual con virtualenvwrapper

Esto crea la venv subcarpeta ~/Envs.

2 - Trabajar en el entorno virtual:

$ workon venv

virtualenvwrapper realmente ayuda cuando se tiene una gran cantidad de ambientes y tienen problemas para recordar sus nombres.

workon También también se puede desactivar, para cambiar rápidamente de entornos:

$ deactivate

3 - Para eliminar:

$ rmvirtualenv venv

Otros comandos:

  • lsvirtualenv
    • Una lista de todos los ambientes
  • cdvirtualenv
    • Navega en el directorio del entorno virtual activado 
  • lssitepackages
    • Muestra contenido del directorio

Fuente: http://docs.python-guide.org/en/latest/dev/virtualenvs/

  1. Camilo Arcila dice:

    intento hacer el pip install virtualenv y se queda pegado y no pasa nad q puede ser necsesito ayuda

  2. Camilo Arcila dice:

    Yo uso windows 8 tiene algo q ver esooo?

    1. PythonDiario dice:

      Hola Camilo, aca tienes la documentación oficial: https://virtualenv.pypa.io/en/stable/installation.html, Saludos

  3. programando avr dice:

    tu ejemplo que pones al inicio de "Un ejemplo simple: imaginemos que estamos trabando en un proyecto con Python 2.7 y Django 1.8, pero necesitamos comenzar a trabajar en un nuevo proyecto que requiere de Python 3.4 y Django 1.9.", no la resuelves, cómo harías para virtualizar 2.7.3 y 2.7.12????

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
White Monkey