Si estás gestionando tu entorno de desarrollo de Python con conda, te recomiendo que leas primero el siguiente artículo.
- Lectura previa:
Introducción a Conda, Anaconda, Miniconda
El siguiente artículo repasa brevemente este contenido y se enfoca en la creación, eliminación, clonación y movimiento de entornos de conda que realmente se utilizan.
1. Resumen en una línea: Anaconda vs Miniconda
En resumen, se puede ver de esta manera.
-
Anaconda:
→ Un paquete integral que instala todos los paquetes comúnmente utilizados en ciencia de datos/aprendizaje automático. -
Miniconda:
→ Solo proporciona herramientas para la gestión de entornos y paquetes de conda,
una distribución minimalista donde el desarrollador selecciona e instala los paquetes necesarios.
A mí me gusta “comenzar de manera ligera y agregar paquetes solo cuando sea necesario”, por lo que recomiendo instalar Miniconda y construir entornos encima de eso.
-
Utiliza menos espacio en disco.
-
Las actualizaciones son menos engorrosas.
-
Solo instala lo necesario para cada proyecto, lo que mantiene el entorno más limpio.
2. Concepto de entorno de conda rápidamente
El “entorno” de conda es, en términos simples, un conjunto de Python/paquetes separados por proyecto.
-
env A: Python 3.10 + Django 4 + versiones específicas de bibliotecas. -
env B: Python 3.11 + FastAPI + un conjunto completamente diferente de bibliotecas.
El objetivo principal es aislar las versiones para que no interfieran entre sí.
Los comandos básicos que se usan con frecuencia respecto a entornos son los siguientes:
# Ver la lista de entornos de conda instalados
conda env list
# O
conda info --envs
3. Crear un entorno de conda
3.1 Creación del entorno más básico
conda create -n myenv python=3.12
-
-n myenv: Nombra el entorno comomyenv. -
python=3.12: Usa la versión de Python 3.12.
Después de crear el entorno:
conda activate myenv # Activar el entorno
conda deactivate # Desactivar el entorno
3.2 Crear y instalar paquetes comunes al mismo tiempo
conda create -n myenv python=3.12 numpy pandas matplotlib
Se creará un nuevo entorno que instala esos paquetes desde el canal base de Miniconda ya instalado.
Después puedes:
conda activate myenv
conda install scikit-learn
# O
pip install requests
Agrega paquetes según sea necesario.
4. Eliminar un entorno de conda
Es recomendable eliminar los entornos que ya no se usan.
(Los entornos de conda suelen consumir bastante espacio en disco.)
# Eliminar el entorno myenv
conda env remove -n myenv
Confirma la eliminación:
conda env list
Si myenv desapareció de la lista, todo está correcto.
5. Clonar un entorno de conda
Es útil cuando deseas crear
“un entorno con una configuración similar pero con un nombre diferente” para hacer algunas pruebas.
# Crear un entorno de clonación nuevo basado en existing-env llamado new-env
conda create -n new-env --clone existing-env
-
Como copia las versiones de los paquetes tal cual,
-
es un patrón comúnmente utilizado cuando quieres mantener el entorno existente y realizar nuevas pruebas.
Después de clonar:
conda activate new-env
Verifica si funciona correctamente.
6. Mover un entorno de conda
Cuando deseas mover un entorno a otra PC o servidor, la forma más común es exportar el entorno a un archivo (importar/exportar) y crear uno nuevo basado en ese archivo.
6.1 Exportar un entorno – Crear un archivo YAML
# Exportar el entorno myenv a un archivo env.yml
conda env export -n myenv > env.yml
El archivo env.yml contendrá:
-
El nombre del entorno
-
Información de los canales utilizados
-
Paquetes y versiones instaladas
Está registrado en ese archivo.
Si quieres exportar solo una lista mínima basada en el historial
Si deseas registrar solo
“los paquetes que instalé directamente” en lugar de la lista completa que incluye dependencias:
conda env export -n myenv --from-history > env-min.yml
Al hacerlo, al crear en otro entorno, conda resolverá automáticamente las dependencias necesarias.
6.2 Crear un entorno en otra ubicación
En otra PC, servidor, o en una nueva ubicación de la misma máquina:
conda env create -f env.yml
Esto creará un entorno con el nombre y versiones de paquetes definidos en el archivo env.yml.
-
Si en
env.ymlestá escritoname: myenv, se creará con ese nombre. -
Si deseas cambiar el nombre, simplemente edita la sección
name:del archivoenv.ymly luego ejecuta.
Por ejemplo, si continúas cambiando name: myenv a name: myenv-dev en el archivo env.yml, luego:
conda env create -f env.yml
conda activate myenv-dev
Podrás traer la misma configuración solo con un nombre diferente.
7. Resumen de patrones útiles de conda
Voy a repasar algunos patrones útiles que se usan con frecuencia al construir un entorno basado en Miniconda.
-
Un entorno por proyecto
-
Nombrar el entorno según el proyecto, como
proj-a-env,proj-b-env. -
Esto facilita la gestión de versiones sin conflictos.
-
-
Expandir el entorno solo cuando sea necesario
-
Al principio, solo instalar
pythony algunos paquetes básicos. -
Expandir solo en el momento necesario con
conda installopip install.
→ Esto se alinea bien con la filosofía minimalista de Miniconda.
-
-
Exportar entornos importantes periódicamente
-
Antes de lanzamientos y despliegues:
bash conda env export -n proj-a-env --from-history > proj-a-env.yml -
Si guardas este archivo en el repositorio,
los miembros del equipo pueden reproducir el mismo entorno fácilmente.
-
-
Hacer copias de seguridad antes de cambios a gran escala
-
Antes de actualizaciones masivas de paquetes o cambios de versión de Python:
bash conda create -n proj-a-backup --clone proj-a-env -
Si surge un problema, puedes volver rápidamente al entorno de respaldo.
-

Conclusión: Comenzar ligero y expandir según sea necesario
En resumen, las opciones son simples.
-
Anaconda es el enfoque de iniciar con “paquetes que podrías necesitar” instalados de una vez.
-
Miniconda es el enfoque de “instalar solo lo que realmente necesitas” en el momento que lo necesitas.
En una situación como la actual, donde cada proyecto puede exigir diferentes versiones de Python y combinaciones de paquetes,
la combinación de Miniconda + un entorno de conda bien gestionado es mucho más flexible.
A la hora de manejar un entorno, puedes:
-
Crear (
conda create) -
Activar (
conda activate) -
Eliminar (
conda env remove) -
Clonar (
conda create --clone) -
Moverlo (
conda env export/conda env create)
Si dominas lo básico, cada vez que inicies un nuevo proyecto,
te sentirás mucho más libre de preocuparte por “qué debo eliminar y qué debo reinstalar ahora?”.
Cuando inicies un nuevo proyecto:
-
Crea un nuevo entorno basado en Miniconda.
-
Instala solo los paquetes realmente necesarios.
-
Si te gusta la configuración del entorno, expórtalo como un
env.ymly
modifícalo ligeramente para reutilizarlo en el siguiente proyecto.
Una vez que te acostumbres a este patrón, la gestión del entorno de conda ya no será una tarea tediosa,
sino un hábito sólido que ayuda a mantener tus proyectos organizados.
No hay comentarios.