Tutorial VirtualEnv

Idealmente, para trabajar en un proyecto uno usa distintos ambientes y no instala dependencias a modo global, ya que si hacemos eso al instalar una nueva versión de la librería podemos romper algo.

Imagina que haces una aplicación que usa Selenium y la instalas a modo global, luego pasan los días/meses/años y quieres hacer otra, observas que hay una actualización e instalas la nueva versión de Selenium… ¿Qué pasa ahora con tu aplicación antigua? Puede fallar y eso no tiene ninguna gracia.

¿Entonces, cómo hago?

Para solucionar el problema hay que instalar virtualenv, el cual nos permitirá crear entornos virtuales de python. El entorno virtual, una vez instalado nos permitirá utilizar pip pero dejará las dependencias dentro de la carpeta del proyecto y no a modo global, es decir, si yo descargo ahora Selenium para mi proyecto, mientras esté en el ambiente no habrá problemas y siempre tendré la copia de esa versión de la dependencia.

Instalación

Para realizar la instalación basta con utilizar el comando

cmd
pip install virtualenv

Eso es todo. (En serio)

¿Cómo lo utilizo?

Usando la consola de comandos de windows vamos al directorio donde estará nuestro proyecto y luego utilizamos el siguiente código

cmd
virtualenv env --python=python3
[Por lo que ví, «python3» es el nombre de variable de entorno que tiene tu instalación de Python. La mía está bajo «Python» por lo tanto yo no debo agregar el comando –python=python3]

Una vez creado el entorno debemos activarlo. Para hacer esto debemos entrar usando la consola de comandos de windows al directorio env y luego al directorio Scripts

cmd
cd env\Scripts
activate

Ahora la consola de comandos mostrará que estamos dentro de un ambiente de la siguiente manera

cmd
(env) F:\Programacion\Python\PruebaEntorno

Ahora si utilizamos pip (desde la carpeta raíz) para instalar cualquier paquete lo hará de manera local y no global.

Para salir de un ambiente basta con utilizar el comando

cmd
deactivate

Y acá está la prueba de que esto funciona, instalé Pygame en el ambiente y lo intenté usar. Luego salí del ambiente y al intentar usarlo me arroja un error

Eso sería todo por ahora.

Saludos
Gonzalo Olivares
Analista Programador