Skip to content

Explicacón de los virtual environments en Python

Introducción

Un virtual environment es una forma que tiene Python para poder mantener todas las librerías y dependencias de una aplicación de Python en las versiones requeridas de forma aislada al resto del entorno de Python para que no interfieran con otras aplicaciones.

Funcionamiento

Los entornos virtuales contienen su propio binario de Python (la versión sera la misma que la del binario utilizado para crear el entorno) y las librerías. Por ello, cuando se crear un entorno virtual, se hace en un directorio del sistema.

A continuación se ilustra la secuencias de comandos para crear una carpeta y un entorno virtual, bajo Windows 10:


PS E:\Code\Python\TutoEjemplos\Django> ls
PS E:\Code\Python\TutoEjemplos\Django> mkdir venv_django_tutorial


    Directorio: E:\Code\Python\TutoEjemplos\Django


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       07/10/2018     18:10                venv_django_tutorial


PS E:\Code\Python\TutoEjemplos\Django> cd .\venv_django_tutorial\
PS E:\Code\Python\TutoEjemplos\Django\venv_django_tutorial> python.exe -V
Python 3.7.0
PS E:\Code\Python\TutoEjemplos\Django\venv_django_tutorial> python -m venv .
PS E:\Code\Python\TutoEjemplos\Django\venv_django_tutorial> dir


    Directorio: E:\Code\Python\TutoEjemplos\Django\venv_django_tutorial


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       07/10/2018     18:10                Include
d-----       07/10/2018     18:10                Lib
d-----       07/10/2018     18:10                Scripts
-a----       07/10/2018     18:10            121 pyvenv.cfg


PS E:\Code\Python\TutoEjemplos\Django\venv_django_tutorial>

Notar que esto requiere del paquete virtualenv, que en este caso ha sido instalado previamente con pip.

Para trabajar con el entorno actual, se debe activar el entorno. Hay un script para esto, teniendo que ejecutar simplemente el comando: ./Scripts/activate. De la misma manera, para dejar de usar el entorno se utiliza el comando: deactivate (NOTAR que NO está en la carpeta anterior).