Conda es un gestor de entornos y paquetes que resulta especialmente útil en ciencia de datos, computación científica y proyectos que dependen de bibliotecas nativas. A diferencia de venv, Conda puede instalar tanto paquetes de Python como dependencias del sistema dentro de un entorno aislado. Esto ayuda a evitar conflictos entre versiones y facilita reproducir un proyecto en otra máquina.
Si tu proyecto utiliza únicamente paquetes de Python, también puedes trabajar con entornos virtuales con venv. Conda destaca cuando necesitas versiones concretas de Python, bibliotecas compiladas o herramientas externas.
Instalar Miniconda
Miniconda ofrece una instalación mínima que incluye Conda y Python, sin cargar cientos de paquetes adicionales. Descarga el instalador correspondiente a tu sistema operativo y arquitectura. Durante la instalación, evita modificar variables globales sin comprender el efecto; puedes utilizar el terminal de Conda o inicializar tu shell posteriormente.
conda --version
conda infoEstos comandos confirman la instalación y muestran directorios, canales y entorno activo.
Actualizar Conda
conda update -n base condaMantén actualizado el gestor, pero no actualices indiscriminadamente todos los paquetes de un proyecto estable. Las actualizaciones deben probarse y documentarse.
Crear un entorno con una versión de Python
conda create --name analisis python=3.12El nombre identifica el entorno. Puedes usar una ruta con --prefix cuando quieras guardar el entorno dentro de una ubicación específica, aunque los nombres suelen ser más cómodos.
Activar y desactivar
conda activate analisis
python --version
conda deactivateLa activación modifica temporalmente rutas y variables para que python, pip y otras herramientas apunten al entorno seleccionado.
Listar entornos
conda env list
# o
conda info --envsEl asterisco indica el entorno activo. Usa nombres descriptivos relacionados con el proyecto, no nombres genéricos como teste o novo.
Instalar paquetes
conda install numpy pandas matplotlibConda resuelve versiones y dependencias antes de instalar. Para consultar paquetes disponibles:
conda search scikit-learnEn proyectos de datos, la guía de análisis con Pandas y NumPy muestra cómo estas bibliotecas trabajan juntas.
Canales y conda-forge
Los canales son repositorios de paquetes. defaults es el canal principal de la distribución Anaconda, mientras conda-forge es una comunidad ampliamente utilizada.
conda install -c conda-forge paqueteMezclar canales sin estrategia puede producir conflictos. Define una prioridad clara y documenta el canal en el archivo del entorno. Una configuración habitual utiliza prioridad estricta:
conda config --set channel_priority strictCrear un archivo environment.yml
name: analisis
channels:
- conda-forge
dependencies:
- python=3.12
- pandas
- numpy
- matplotlib
- pip
- pip:
- requests==2.32.3Este archivo describe el entorno de forma legible. Evita incluir rutas locales, credenciales o dependencias que no utiliza el proyecto.
Crear el entorno desde YAML
conda env create -f environment.ymlPara actualizar un entorno existente según el archivo:
conda env update -f environment.yml --prune--prune elimina dependencias que ya no aparecen en la definición. Revisa el plan antes de confirmar en proyectos importantes.
Exportar un entorno
conda env export --from-history > environment.yml--from-history exporta principalmente los paquetes solicitados por ti, no cada dependencia transitoria. Esto crea un archivo más portable. Un exportado completo puede incluir versiones y builds específicos de una plataforma.
Conda y pip en el mismo entorno
Puedes instalar paquetes de pip cuando no estén disponibles en Conda, pero sigue un orden: instala primero con Conda y después utiliza pip. Cambiar paquetes con Conda después de una gran instalación de pip puede dejar el entorno en un estado difícil de resolver.
conda activate analisis
python -m pip install paquete-exclusivoUsa python -m pip para asegurarte de que pip pertenece al intérprete activo. La guía sobre bibliotecas y paquetes Python explica la relación entre pip, imports y dependencias.
Comprobar el entorno
which python
# Windows
where python
python -c "import sys; print(sys.executable)"
conda listEstas comprobaciones ayudan a detectar que el editor o el terminal están utilizando otro intérprete.
Configurar Conda en VS Code
Abre la paleta de comandos, busca la selección de intérprete y elige el Python del entorno Conda. Si no aparece, reinicia la ventana o introduce la ruta manualmente. La guía para instalar y configurar VS Code presenta la configuración básica del editor.
Clonar un entorno
conda create --name analisis-prueba --clone analisisUn clon permite probar actualizaciones sin modificar el entorno estable. No sustituye un archivo declarativo, pero es útil para experimentos locales.
Eliminar un entorno
conda deactivate
conda env remove --name analisis-pruebaComprueba siempre el nombre antes de eliminar. Los datos del proyecto no deberían guardarse dentro del directorio del entorno.
Limpiar cachés
conda clean --allEl comando puede liberar espacio eliminando paquetes descargados y cachés. Revisa la confirmación porque futuras instalaciones tendrán que descargar nuevamente los archivos.
Conda frente a venv y Poetry
venv forma parte de Python y crea entornos ligeros. Conda gestiona Python y dependencias binarias. Poetry se enfoca en dependencias, empaquetado y publicación de proyectos Python. La elección depende del tipo de aplicación.
Para una biblioteca destinada a PyPI, Poetry o herramientas estándar de empaquetado suelen integrarse mejor. Para notebooks, geociencia, aprendizaje automático o bibliotecas con componentes C y Fortran, Conda puede simplificar la instalación.
Instalar paquetes sin conexión
En entornos restringidos, puedes descargar previamente paquetes o usar un canal interno. La guía para instalar paquetes Python offline explica wheels, índices locales y consideraciones de plataforma.
Reproducibilidad real
Un archivo YAML mejora la reproducibilidad, pero no garantiza resultados idénticos en cualquier sistema. Los builds pueden variar por arquitectura y sistema operativo. Para requisitos estrictos, usa archivos de bloqueo o herramientas como conda-lock, registra la plataforma y prueba el entorno en CI.
Seguridad
Instala paquetes desde canales confiables, revisa nombres para evitar typosquatting y no añadas canales desconocidos globalmente. Mantén secretos fuera del YAML. Actualiza dependencias vulnerables de forma controlada y elimina entornos abandonados.
Errores frecuentes
Los problemas habituales son olvidar activar el entorno, usar pip global, mezclar canales con prioridades diferentes, exportar builds específicos y compartir un YAML enorme con dependencias innecesarias. También es frecuente ejecutar Jupyter desde el entorno base y conectar un kernel distinto al esperado.
Cuando un entorno se vuelve difícil de reparar, suele ser más seguro reconstruirlo desde una definición limpia que acumular instalaciones y desinstalaciones.
Fuentes oficiales
La documentación oficial de Conda sobre entornos explica creación, activación, exportación y eliminación. La documentación oficial de Miniconda ofrece instaladores y orientación para cada sistema operativo.
Conclusión
Conda facilita aislar versiones de Python, paquetes y dependencias binarias. Crea un entorno por proyecto, define sus dependencias en environment.yml, utiliza canales de forma consistente y comprueba siempre el intérprete activo. Un entorno reproducible reduce errores y permite que otras personas ejecuten el proyecto con menos diferencias.






