Gestionar entornos virtuales en Conda te permite mantener tus proyectos ordenados, reproducibles y libres de conflictos entre dependencias. Aquí aprendes a actualizar paquetes, clonar entornos, exportarlos a un archivo environment.yaml y replicarlos en otra máquina usando comandos directos en la terminal.
¿Cómo actualizo paquetes dentro de un entorno virtual en Conda?
La actualización de paquetes en Conda se hace en dos pasos: activar el entorno y ejecutar el comando de update. Esto te asegura que estás modificando el entorno correcto y no el base.
Primero activas el entorno con conda activate example y luego corres conda update numpy para traer la última versión de un paquete específico. Si quieres actualizar todo el entorno de una sola vez, usas conda update --all, confirmas con yes y Conda se encarga del resto [01:00].
¿Qué pasa si una actualización rompe mi proyecto? Por eso siempre pruebas los cambios en un entorno de desarrollo antes de aplicarlos en producción. Algunas actualizaciones pueden romper dependencias o generar conflictos entre versiones.
¿Por qué conviene actualizar paquete por paquete?
Actualizar uno a uno te da control fino sobre qué cambia. Si un proyecto depende de una versión específica de NumPy, prefieres tocar solo lo necesario y dejar el resto intacto.
¿Cómo clono un entorno virtual en Conda sin afectar el original?
Clonar un entorno te permite experimentar con cambios fuertes sin poner en riesgo el proyecto base. Conda crea una copia exacta con todas las dependencias y versiones idénticas.
El flujo es directo:
- Desactiva el entorno actual con
conda deactivate para volver a base.
- Ejecuta
conda create --name new_example --clone example.
- Verifica con
conda env list que aparezcan ambos entornos.
En el ejemplo, el entorno clonado contenía 26 paquetes y se replicó completo en new_example, listo para activarse y modificarse libremente [02:30].
¿Cómo exporto un entorno de Conda a un archivo environment.yaml?
Exportar el entorno es clave cuando trabajas en equipo o mueves proyectos entre máquinas. El archivo environment.yaml contiene el nombre del entorno, los canales de instalación y la lista completa de dependencias con sus versiones.
Dentro del entorno activo, ejecutas:
bash
conda env export > environment.yaml
El signo > redirige la salida del comando hacia el archivo. Si lo abres con cat environment.yaml, ves la estructura: nombre del ambiente, canales y cada librería con su versión, por ejemplo NumPy fijada a la versión instalada [04:15].
¿Qué incluye el archivo environment.yaml? Incluye el nombre del entorno, los canales desde donde se instalan las librerías y la lista de dependencias con su versión exacta. Es el plano completo para replicar el entorno en otra computadora.
¿Puedo escribir el archivo yaml a mano?
Sí. No necesitas exportar siempre desde un entorno existente. Puedes crear un env.yaml manual listando solo las librerías que te interesan, sin especificar versión, y Conda instalará las versiones por defecto al cargarlo.
¿Cómo replico un entorno desde un archivo yaml en otra máquina?
Replicar un entorno desde un archivo yaml es lo que hace reproducible tu proyecto. Tienes dos escenarios: crear un entorno nuevo desde el archivo, o actualizar un entorno existente con las dependencias listadas.
Para crear desde cero, primero eliminas el entorno anterior si lo tenías:
bash
conda remove --name example --all
Luego cargas el archivo yaml con:
bash
conda env create -f environment.yaml
La bandera -f viene de file y le indica a Conda desde qué archivo leer las dependencias. Conda recorre cada librería listada y la instala automáticamente [06:40].
¿Cómo agrego librerías de un yaml a un entorno ya creado?
Cuando ya tienes un entorno activo y quieres sumarle las librerías de un archivo compartido, usas:
bash
conda env update -f env.yaml
En el ejemplo, un archivo con NumPy, Pandas y Matplotlib se cargó sobre el entorno mi_entorno. Después, conda list mostró Pandas en la versión 1.3.3 junto a las otras librerías recién instaladas [08:20].
Conceptos y comandos clave que aparecen en la clase
Estos son los términos y comandos que conviene tener claros:
- conda activate / conda deactivate: entran y salen de un entorno virtual específico.
- conda update paquete: actualiza un paquete puntual dentro del entorno activo.
- conda update --all: actualiza todas las librerías del entorno de una vez.
- conda create --clone: replica un entorno existente con todas sus dependencias.
- conda env export: genera el archivo yaml con la configuración completa.
- conda env create -f: construye un entorno nuevo a partir de un archivo yaml.
- conda env update -f: agrega o actualiza librerías sobre un entorno existente desde un yaml.
- conda remove --name entorno --all: elimina por completo un entorno virtual.
Después de cualquier sesión de trabajo, ejecuta conda deactivate para volver a base y dejar tu terminal limpia. ¿Ya probaste exportar tu propio entorno y compartirlo con alguien de tu equipo? Cuéntame qué librerías incluiste en tu primer environment.yaml.