Al crear un entorno virtual en Python, comúnmente se usa python -m venv. Sin embargo, también hay una herramienta de gestión de entornos ampliamente utilizada en los campos de la ciencia de datos y la inteligencia artificial llamada Conda. Conda es una poderosa herramienta que ayuda a gestionar tanto paquetes como entornos.

En este artículo, exploraremos el concepto de Conda, las diferencias entre Anaconda y Miniconda, y cómo funcionan los entornos de Conda de forma aislada del sistema.


1. ¿Qué es Conda?

Conda es un gestor de paquetes y entornos ampliamente utilizado en los campos de la ciencia de datos, inteligencia artificial y aprendizaje automático. Originalmente desarrollado para Python, ahora también soporta diversos lenguajes como R, Ruby, Lua, entre otros.

Con Conda, puedes realizar eficientemente las siguientes tareas:

  • Instalar y gestionar múltiples paquetes al mismo tiempo
  • Crear entornos virtuales independientes del sistema operativo
  • Conservar diferentes versiones de Python por proyecto

Terminología relacionada

  • Entorno Conda (environment): un entorno virtual que tiene su propio espacio de paquetes
  • conda-forge: un repositorio de paquetes mantenido por la comunidad de Conda
  • Anaconda: una distribución que incluye Conda y una selección de paquetes comúnmente usados en ciencia de datos (Numpy, Pandas, Jupyter, etc.)
  • Miniconda: una distribución ligera que solo incluye Conda, permitiendo al usuario seleccionar y instalar los paquetes que necesite

2. ¿Por qué Conda? Comparación con python -m venv

La biblioteca estándar de Python incluye una herramienta para crear entornos virtuales llamada venv. A pesar de esto, Conda es preferido en el campo de la ciencia de datos por las siguientes razones:

  • venv solo gestiona paquetes de Python, mientras que Conda puede gestionar también dependencias no-Python (C, C++, CUDA, etc.)
  • Conda es excepcional en la resolución de conflictos de versiones de paquetes y configura automáticamente los binarios para cada sistema operativo
  • En un entorno venv, es necesario instalar todo con pip, pero Conda permite una gestión de distribución más estable a través de canales de paquetes como conda-forge

En otras palabras, en cálculos científicos o en entornos de aprendizaje automático, la capacidad para resolver conflictos con diversas bibliotecas externas es crucial, y Conda sobresale en estas áreas.


3. Diferencias entre Anaconda y Miniconda

Elemento Anaconda Miniconda
Tamaño base Muy grande (aproximadamente 3-4GB) Muy pequeño (alrededor de unos cientos de MB)
Paquetes incluidos incluye numpy, pandas, matplotlib, Jupyter, etc. solo incluye Conda
Tiempo de instalación largo rápido
Público objetivo Principiantes, usuarios que desean comenzar a desarrollar de inmediato Usuarios que requieren instalación ligera y selección de paquetes

Características de Anaconda

  • Posibilidad de realizar análisis de datos inmediatamente después de la instalación
  • Incluye herramientas de visualización, Jupyter Notebook, etc.

Características de Miniconda

  • Instalación ligera y rápida
  • Capacidad para seleccionar solo lo necesario para instalar → alta flexibilidad

4. ¿Cómo se separa un entorno Conda del sistema?

Los entornos Conda se crean en un directorio completamente separado del sistema base. Esto proporciona las siguientes ventajas:

  • No afecta al entorno Python del sistema
  • Permite construir entornos independientes para cada proyecto
  • Los entornos se pueden guardar en un archivo .yml para fácil reproducción

Comparación con Docker

Elemento Conda Docker
Nivel de aislamiento Nivel de usuario (entorno virtual) Nivel de sistema operativo (contenedor)
Propósito Gestión de paquetes y bibliotecas Aislamiento y despliegue del sistema completo
Tamaño Relativamente ligero Pesado
Velocidad de ejecución Rápido Puede ser lento (especialmente al incluir ejecución de imágenes)

Docker proporciona un aislamiento total, pero Conda a menudo es suficiente en el campo de la ciencia de datos por su ligereza y facilidad de configuración.


5. Métodos de instalación

Método de instalación de Anaconda

  1. Descargar el archivo de instalación apropiado para tu sistema operativo en https://www.anaconda.com/download
  2. Proceder a la instalación a través del asistente de instalación GUI o CLI
  3. Una vez instalado, puedes usar anaconda-navigator o el comando conda

Método de instalación de Miniconda

  1. Descargar el archivo de instalación en https://docs.conda.io/en/latest/miniconda.html
  2. Después de la instalación, configurar el entorno con conda init y conda config

6. Adelanto del siguiente artículo

En este artículo, hemos examinado el concepto de Conda y las diferencias entre sus distribuciones representativas, Anaconda y Miniconda. También explicamos por qué Conda es más adecuado para tareas científicas en comparación con -m venv.

En el siguiente artículo, cubriremos cómo crear y gestionar un entorno Conda, incluyendo los siguientes temas:

  • Crear un entorno con conda create
  • Activar y eliminar entornos
  • Resumen de comandos frecuentemente utilizados en Conda

¡Así que en la próxima entrega, continuaremos con prácticas para crear un entorno de trabajo real!

Una cobra digital simbólica que representa entornos Conda, rodeada de una rejilla cercada con íconos de nube y sistema