42
Uso de Miniconda
Como buena práctica en el desarrollo de aplicaciones en Python se sugiere el uso de ambientes virtuales los cuales permiten crear un entorno aislado para los proyectos. Esto permite que cada proyecto pueda tener sus propias dependencias, las cuales son independientes de las dependencias de otros proyectos.
Hay muchas alternativas para utilizar ambientes virtuales para Python dentro de las más comunes se encuentran venv, virtualenv y pyenv entre muchas otras.
Otra alternativa muy utilizada, sobre todo en Data Science, es Conda, el cual es un sistema de administración de paquetes, dependencias y ambientes virtuales para lenguajes como Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++ o FORTRAN.
Anaconda es una distribución de Python y R para cómputo científico (data science, machine learning, procesamiento de grandes volúmenes de información, etc.), que está enfocado en simplificar la administración de paquetes para las aplicaciones. Anaconda es una distribución completa de Python y viene con más de 1000 paquetes. Debido a esto, el tamaño total de instalación supera los 3 GB. Hay que tener en cuenta que frecuentemente se utiliza solo unos cuantos paquetes de los 1000 que vienen con la distribución.
Miniconda es un instalador de Conda. Es una versión pequeña y mínima de Anaconda, la cual incluye únicamente Conda, Python y un pequeño conjunto de paquetes incluyendo pip. El tamaño de Miniconda es de aproximadamente 400 MB, mucho más pequeño que la versión completa de Anaconda, de modo que los paquetes adicionales requeridos deben ser descargados e instalados según se requiera.
Para tomar una decisión de cuál de las 2 alternativas se ajusta más a las necesidades se puede consultar la documentación de Conda en https://docs.conda.io/projects/conda/en/latest/user-guide/install/download.html#anaconda-or-miniconda
Una vez instalado Miniconda en el sistema se pueden utilizar los siguientes comandos para su gestión:
conda update -n base -c defaults conda
Este comando muestra información relacionada con la versión instalada, versión de Python, plataforma, URLs de repositorios, etc
conda info
En un máquina pueden (y deben) existir múltiples ambientes virtuales, uno por proyecto. Para ver la lista de ambientes creados en la máquina ejecute:
conda env list
conda create --name nombre_ambiente python=3.8
- El parámetro
--name
permite establecer el nombre del nuevo ambiente - El párametro
python
establece la versión de Python que se ejecutará en el ambiente virtual.
Se puede crear un ambiente y automáticamente instalar los paquetes requeridos ejecutando:
conda create --name nombre_ambiente python=3.6 flask flask-cors numpy gdal
Al desarrollar o ejecutar una aplicación se debe activar su ambiente virtual ejecutando:
conda activate nombre_ambiente
Para salir del ambiente virtual ejecute:
conda deactivate
Si se desea instalar un paquete específico en el entorno virtual se puede ejecutar:
conda install nombre_paquete
Reemplace nombre_paquete
por el paquete que desea instalar.
conda list
conda remove --name nombre_ambiente --all
Es usual que se incluya un archivo con la lista de paquetes de la aplicación. Este archivo se utiliza para recrear el ambiente virtual en otra máquina (p.e. desarrollo, producción o pruebas). Para generar el archivo con la lista de paquetes ejecute:
conda list -e > nombre_ambiente.txt
Conda permite instalar paquetes en un ambiente virtual utilizando un archivo txt o yaml. Para generar el archivo yaml (extensión yml) ejecute:
conda env export > nombre_ambiente.yml
La primera instrucción en el archivo YML
dice el nombre del nuevo ambiente
conda env create -f nombre_ambiente.yml
42