Skip to content

Cómo Crear un Entorno Conda: Guía Completa con Ejemplos

Kanaries Team
Name
Kanaries Team

Updated on

Gestionar dependencias de Python en múltiples proyectos puede convertirse rápidamente en una pesadilla. Diferentes proyectos requieren diferentes versiones de paquetes, e instalar todo en un solo entorno genera conflictos de versiones y código roto. Los entornos Conda resuelven este problema creando espacios aislados para las dependencias de cada proyecto.

Esta guía cubre todo lo que necesitas saber sobre la creación de entornos Conda, desde comandos básicos hasta técnicas avanzadas como clonación y configuración basada en YAML.

¿Quieres crear rápidamente visualizaciones de datos desde Python Pandas DataFrame sin código?

PyGWalker es una biblioteca de Python para análisis exploratorio de datos con visualización. PyGWalker (opens in a new tab) puede simplificar tu flujo de trabajo de análisis y visualización de datos en Jupyter Notebook, convirtiendo tu pandas dataframe en una interfaz de usuario alternativa a Tableau para exploración visual.

PyGWalker para visualización de datos (opens in a new tab)

¿Qué es un Entorno Conda?

Un entorno Conda es un directorio aislado que contiene una colección específica de paquetes y sus dependencias. Cada entorno opera de forma independiente, permitiéndote:

  • Usar diferentes versiones de Python para diferentes proyectos
  • Instalar versiones de paquetes en conflicto sin problemas
  • Compartir configuraciones de desarrollo reproducibles con compañeros de equipo
  • Mantener tu instalación base limpia y estable

Referencia Rápida: Comandos de Entorno Conda

TareaComando
Crear entorno básicoconda create --name mienv
Crear con versión de Pythonconda create --name mienv python=3.11
Crear desde archivo YAMLconda env create -f environment.yml
Clonar entornoconda create --name nuevoenv --clone antiguoenv
Listar todos los entornosconda env list
Activar entornoconda activate mienv
Desactivar entornoconda deactivate
Eliminar entornoconda env remove --name mienv

Creando un Entorno Conda Básico

La forma más simple de crear un entorno Conda usa el comando conda create:

conda create --name mienv

Esto crea un entorno vacío llamado mienv. Para crearlo y activarlo en un flujo de trabajo:

conda create --name mienv
conda activate mienv

Después de la activación, tu prompt de terminal cambia para mostrar el nombre del entorno activo.

Creando un Entorno con una Versión Específica de Python

La mayoría de los proyectos requieren una versión específica de Python. Especifícala durante la creación:

conda create --name mienv python=3.11

También puedes especificar un rango de versiones:

# Python 3.10 o superior
conda create --name mienv python>=3.10
 
# Python 3.9.x (cualquier versión patch)
conda create --name mienv python=3.9

Versiones de Python Soportadas

Versión PythonEstadoRecomendado Para
3.12ÚltimaNuevos proyectos, características de vanguardia
3.11EstableAplicaciones de producción
3.10EstableMayoría de bibliotecas compatibles
3.9MaduraSoporte de proyectos legacy
3.8Fin de vidaSolo mantenimiento

Creando un Entorno con Paquetes

Instala paquetes durante la creación del entorno para ahorrar tiempo:

conda create --name dataenv python=3.11 numpy pandas matplotlib scikit-learn

Especifica versiones de paquetes para reproducibilidad:

conda create --name dataenv python=3.11 numpy=1.24 pandas=2.0 matplotlib=3.7

Creando un Entorno desde un Archivo YAML

Para proyectos complejos, define entornos en un archivo YAML. Este enfoque permite control de versiones y fácil compartición.

Creando el Archivo environment.yml

name: miproyecto
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.11
  - numpy=1.24
  - pandas=2.0
  - scikit-learn=1.3
  - matplotlib=3.7
  - jupyter
  - pip
  - pip:
    - pygwalker
    - algun-paquete-solo-pip

Creando el Entorno desde YAML

conda env create -f environment.yml

Este comando lee el archivo y crea un entorno con el nombre y paquetes especificados.

Actualizando un Entorno Existente desde YAML

conda env update -f environment.yml --prune

La bandera --prune elimina paquetes no listados en el archivo YAML.

Clonando un Entorno Existente

Duplica un entorno para experimentar sin afectar el original:

conda create --name nuevoenv --clone antiguoenv

Esto copia todos los paquetes y sus versiones exactas. Escenarios útiles incluyen:

  • Probar actualizaciones de paquetes de forma segura
  • Crear variaciones específicas de proyecto
  • Hacer backup de un entorno funcional antes de cambios mayores

Creando Entornos en Ubicaciones Personalizadas

Por defecto, Conda almacena entornos en el directorio envs. Crea un entorno en otro lugar usando --prefix:

conda create --prefix ./envs/mienv python=3.11

Actívalo con la ruta completa:

conda activate ./envs/mienv

Este enfoque mantiene las dependencias del proyecto dentro de la carpeta del proyecto.

Mejores Prácticas para Entornos Conda

1. Usa Nombres Descriptivos

Nombra entornos según proyectos o propósitos:

# Bien
conda create --name webapp-backend python=3.11
conda create --name analisis-datos python=3.10
 
# Evitar
conda create --name env1
conda create --name test

2. Siempre Especifica la Versión de Python

Versiones explícitas previenen comportamiento inesperado:

conda create --name mienv python=3.11

3. Exporta Entornos para Compartir

Crea archivos de entorno reproducibles:

# Exportación completa (específica de plataforma)
conda env export > environment.yml
 
# Exportación multiplataforma
conda env export --from-history > environment.yml

4. Usa el Canal conda-forge

El canal conda-forge ofrece más paquetes y actualizaciones más rápidas:

conda create --name mienv -c conda-forge python=3.11 numpy pandas

5. Mantén los Entornos Mínimos

Instala solo paquetes necesarios. Elimina entornos no usados regularmente usando el comando conda env remove.

Solución de Problemas Comunes

La Creación del Entorno Falla

Problema: Error ResolvePackageNotFound

Solución: Prueba usar el canal conda-forge o verifica la ortografía del nombre del paquete:

conda create --name mienv -c conda-forge python=3.11 nombre-paquete

Creación de Entorno Lenta

Problema: Resolver el entorno toma demasiado tiempo

Solución: Usa mamba, un reemplazo más rápido:

conda install -n base -c conda-forge mamba
mamba create --name mienv python=3.11 numpy pandas

Conda No Encontrado Después de la Instalación

Problema: conda: command not found

Solución: Inicializa Conda para tu shell:

conda init bash  # o zsh, fish, powershell

Luego reinicia tu terminal.

Gestionando Tus Entornos

Después de crear entornos, necesitarás gestionarlos efectivamente:

  • Listar entornos: conda env list muestra todos los entornos y sus ubicaciones
  • Eliminar entornos: Consulta nuestra guía sobre cómo eliminar entornos Conda para instrucciones detalladas
  • Actualizar paquetes: Usa conda update --all dentro de un entorno activado

Conda Create vs Conda Env Create

Existen dos comandos para crear entornos:

Característicaconda createconda env create
Crear entorno vacíoNo
Especificar paquetes inlineNo
Crear desde YAMLNo
Clonar entornosNo

Usa conda create para creación rápida de entornos inline. Usa conda env create cuando trabajes con archivos YAML.


FAQ

¿Cómo creo un entorno Conda con una versión específica de Python?

Usa conda create --name mienv python=3.11 reemplazando 3.11 con tu versión deseada. Conda descarga e instala la versión de Python especificada en el nuevo entorno aislado.

¿Cuál es la diferencia entre conda create y conda env create?

conda create crea entornos con paquetes especificados inline en la línea de comandos. conda env create crea entornos desde archivos de especificación YAML. Usa conda create para configuraciones rápidas y conda env create para entornos reproducibles y controlados por versiones.

¿Cómo creo un entorno Conda desde un archivo requirements.txt?

Primero crea el entorno, luego instala desde requirements.txt: conda create --name mienv python=3.11 seguido de pip install -r requirements.txt después de activar el entorno. Para mejor compatibilidad, convierte requirements.txt al formato environment.yml.

¿Puedo crear un entorno Conda en un directorio específico?

Sí, usa la bandera --prefix: conda create --prefix ./mienv python=3.11. Esto crea el entorno en la ruta especificada en lugar del directorio envs predeterminado de Conda. Actívalo usando la ruta completa.

Guías Relacionadas