Creación de entornos en Anaconda

Los entornos virtuales son espacios independientes a tu instalación local, cuya función es “empaquetar” de forma independiente los diferentes recursos y librerías. Gracias a este recurso podemos tener distintos entornos virtuales con diferentes versiones de Python y de las librerías usadas. Así, por ejemplo, podemos tener un entorno con Python 3.8 y tensorflow que nos sirve para ejecutar ciertos scripts, y otro entorno diferente con Python 3.9 y los paquetes de ciencia de datos (numpy, pandas…) para ejecutar otro tipo de scripts.

Pero una de las mejores utilidades que tienen los entornos virtuales es que facilitan la posibilidad de ejecutar tus scripts en otros equipos de forma rápida, sin tener que andar instalando uno a uno los paquetes necesarios en el otro equipo y evitando problemas de compatibilidad.

Anaconda nos permite crear y gestionar fácilmente estos entornos virtuales. Este post, vamos a ver los comandos para crear y compartir un entorno virtual en Anaconda.

Para todos estos comandos usaremos la terminal de Anaconda (Anaconda Prompt)

Listado de entornos ya creados

Podemos ver en cualquier momento un listado de los entornos que ya estén creados:

conda info --envs

Crear un entorno nuevo con cierta versión de Python

Para crear un entorno sólo con determinada versión de Python podemos usar el siguiente comando:

conda create -n mientorno python=3.9

Crear un entorno nuevo con librerías específicas

Si además de Python queremos incluir versiones específicas de ciertas librerías, podemos utilizar el siguiente comando:

conda create -n mientorno python=3.9.13 pandas=1.4.4 scikit-learn numpy=1.21.5

Si no indicamos la versión (como es el caso de scikit-learn en el ejemplo anterior) Anaconda buscará la última versión que sea compatible con el resto de versiones indicadas.

Ampliación de repositorios

Si en el paso anterior tienes problemas para que Anaconda encuentre ciertas librerías, puedes probar a agregar más canales:

conda config --append channels conda-forge

Instalar un nuevo paquete en un entorno ya existente

Si ya tenemos un entorno creado y queremos agregarle una nueva librería, podemos utilizar el siguiente comando:

conda install –name mientorno pandas

Activar entorno existente

Podemos activar un entorno ya creado de la siguiente forma:

conda activate mientorno

Desactivar entorno

Desactivamos un entorno activo con el siguiente comando:

conda deactivate

Borrar entorno

Podemos eliminar definitivamente un entorno creado de la siguiente forma:

conda env remove --name mientorno

Exportar entorno existente a fichero yml

La forma de compartir un entorno para ejecutar nuestro script en otro equipo es con un fichero yml. Podemos generar un fichero de este tipo a partir de un entorno previamente creado de la siguiente forma:

conda env export -n mientorno -f environment.yml --no-builds

Para compartir el entorno, solo tenemos que enviar el fichero yml creado al nuevo equipo dónde se vaya a usar.

Exportar entorno actualmente activado a fichero yml

Si el entorno que queremos exportar lo tenemos actualmente activo, lo podemos exportar con el siguiente comando:

conda env export > environment.yml --no-builds

Importar un entorno a partir de un fichero yml

El último paso sería importar el entorno en el nuevo equipo a partir del fichero yml compartido. Podemos hacerlo de la siguiente forma:

conda env create --name mientorno --file=environment.yml
Para saber más:
Managing environments
Cómo usar entornos virtuales en Python con Anaconda
Entornos virtuales de Python: común y Anaconda

Deja una respuesta