Entornos virtuales de Python explicados con ejemplos

Los entornos virtuales se pueden describir como directorios de instalación aislados. Este aislamiento le permite localizar la instalación de las dependencias de su proyecto, sin forzarlo a instalarlas en todo el sistema.

Imagina que tienes dos aplicaciones, App1 y App2. Ambos usan el paquete Pak, pero requieren versiones diferentes. Si instala Pak versión 2.3 para App1, no podrá ejecutar App2 porque requiere la versión 3.1.

Aquí es donde los entornos virtuales resultan útiles.

Beneficios:

  • Puede tener varios entornos, con varios conjuntos de paquetes, sin conflictos entre ellos. De esta forma, se pueden satisfacer los requisitos de diferentes proyectos al mismo tiempo.
  • Puede lanzar fácilmente su proyecto con sus propios módulos dependientes.

Aquí hay dos formas en las que puede crear entornos virtuales Python.

Virtualenv

virtualenves una herramienta que se utiliza para crear entornos Python aislados. Crea una carpeta que contiene todos los ejecutables necesarios para usar los paquetes que necesitaría un proyecto de Python.

Puedes instalarlo con pip:

pip install virtualenv

Verifique la instalación con el siguiente comando:

virtualenv --version

Crea un ambiente

Para crear un entorno virtual utilice:

virtualenv --no-site-packages my-env

Esto crea una carpeta en el directorio actual con el nombre del entorno ( my-env/). Esta carpeta contiene los directorios para instalar módulos y ejecutables de Python.

También puede especificar la versión de Python con la que desea trabajar. Solo usa el argumento --python=/path/to/python/version. Por ejemplo python2.7:

virtualenv --python=/usr/bin/python2.7 my-env

Lista de entornos

Puede enumerar los entornos disponibles con:

lsvirtualenv

Activar un entorno

Antes de que pueda comenzar a utilizar el entorno, debe activarlo:

source my-env/bin/activate

Esto asegura que solo my-env/se utilicen los paquetes de abajo .

Notará que el nombre del entorno se muestra a la izquierda del mensaje. De esta forma puede ver cuál es el entorno activo.

Instalar paquetes

Puede instalar paquetes uno por uno o configurando un requirements.txtarchivo para su proyecto.

pip install some-package pip install -r requirements.txt

Si desea crear un requirements.txtarchivo a partir de los paquetes ya instalados, ejecute el siguiente comando:

pip freeze > requirements.txt

El archivo contendrá la lista de todos los paquetes instalados en el entorno actual y sus respectivas versiones. Esto le ayudará a lanzar su proyecto con sus propios módulos dependientes.

Desactivar un entorno

Si ha terminado de trabajar con el entorno virtual, puede desactivarlo con:

deactivate

Esto lo devuelve al intérprete de Python predeterminado del sistema con todas sus bibliotecas instaladas.

Eliminar un entorno

Simplemente elimine la carpeta del entorno.

Conda

Conda es una gestión de paquetes, dependencias y entornos para muchos lenguajes, incluido Python.

Para instalar Conda, siga estas instrucciones.

Crea un ambiente

Para crear un entorno virtual utilice:

conda create --name my-env

Conda creará la carpeta correspondiente dentro del directorio de instalación de Conda.

También puede especificar con qué versión de Python desea trabajar:

conda create --name my-env python=3.6

Lista de entornos

Puede enumerar todos los entornos disponibles con:

conda info --envs

Activar un entorno

Antes de que pueda comenzar a utilizar el entorno, debe activarlo:

source activate my-env

Instalar paquetes

Lo mismo que con virtualenv.

Desactivar un entorno

Si ha terminado de trabajar con el entorno virtual, puede desactivarlo con:

source deactivate

Eliminar un entorno

Si desea eliminar un entorno de Conda, utilice:

conda remove --name my-env