Uso de conda

De NLHPC

Introducción

Si necesita utilizar entornos virtuales de Conda, el siguiente procedimiento muestra los pasos básicos para crear su primer entorno virtual.

Debe recordar que al ser entornos virtuales, estos estarán almacenados bajo su directorio $HOME y las instalaciones de software bajo este entorno deben ser administradas por el propio usuario.

Módulos para Conda

Actualmente en el cluster contamos con distintos módulos que pueden ser utilizados para la creación de entornos virtuales de Conda.

Anaconda2/5.3.0
Anaconda3/5.1.0
Anaconda3/5.3.0
Anaconda3/2020.02
Miniconda2/4.7.10
Miniconda3/4.5.12

Para nuestro ejemplo utilizaremos Miniconda3/4.5.12, pero puede utilizar el módulo que se adapte a sus necesidades.

Carga de módulo y activación inicial de Conda

El siguiente paso debe realizarse una única vez, posterior a esto, el usuario deberá crear, activar y administrar sus propios entornos virtuales.

Carga de módulo

Cargaremos el módulo Miniconda3/4.5.12.

Recuerde que si omite la versión del módulo a cargar, se utilizará el que esté por defecto.

ml purge
ml intel
ml Miniconda3

Activación de Conda

Activaremos el uso de conda con el comando:

conda init bash


Este comando editará su archivo ~/.bashrc con un contenido similar a:


# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/lmod/software/Core/Miniconda3/4.5.12/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/lmod/software/Core/Miniconda3/4.5.12/etc/profile.d/conda.sh" ]; then
        . "/home/lmod/software/Core/Miniconda3/4.5.12/etc/profile.d/conda.sh"
    else
        export PATH="/home/lmod/software/Core/Miniconda3/4.5.12/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<


Si elimina estas líneas, deberá cargar el módulo y activar conda nuevamente.

En este punto, es necesario puede salir de su sesión y volver a acceder, o ejecutar el siguiente comando para activar volver a cargar su archivo ~/.bashrc:

source ~/.bashrc


Y ya tendrá disponible el comando conda disponible en su sesión.

Creación de entorno virtual

Los siguientes pasos permitirán crear un entorno virtual bajo su cuenta personal.

Creando nuestro entorno virtual

Crearemos nuestro entorno virtual con el comando:

conda create -n mi_primer_entorno

Una vez que este entorno se haya creado, lo podremos activar con:

conda activate mi_primer_entorno

Fíjese que el prompt de su cuenta indicará el nombre del entorno virtual que esté activo. En una primera instancia verá un cambio de base por mi_primer_entorno

Creando un entorno virtual con Python 3.9.5

En el caso de querer crear un entorno virtual y en el mismo paso instalar Python en una versión específica, puede usar el comando:

conda create -n mi_entorno_con_python python=3.9.5

Este comando creará el entorno mi_entorno_con_python e instalará la versión 3.9.5 de Python.

Eventualmente, y luego que su entorno haya sido creado, podrá activar este nuevo entorno y verificar la ubicación del comando python

conda activate mi_entorno_con_python
which python

Instalación de software adicional

Cuando requiera instalar nuevo software, bastará que active su entorno virtual y use el comando conda para la instalación de software.

Por ejemplo, si queremos instalar Tensorflow en nuestro entorno mi_primer_entorno, podemos ejecutar:

conda activate mi_primer_entorno
conda install Tensorflow

Un ejemplo práctico e instalación de numpy

Veamos un ejemplo real: Muchos de nuestros usuarios que utilizan Python requieren el uso de NumPy.

Para la instalación bajo nuestro entorno que ya tiene Python instalado, ejecutaremos

conda activate mi_entorno_con_python
conda install numpy

Veremos un mensaje similar a:

Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
  environment location: /home/dbowman/.conda/envs/my_env
  added / updated specs:
    - numpy
The following packages will be installed:
  ca-certificates                       2023.5.7-hbcca054_0 --> 2023.7.22-hbcca054_0
  certifi                             2023.5.7-pyhd8ed1ab_0 --> 2023.7.22-pyhd8ed1ab_0
  numpy                              1.24.3-py311h64a7726_0 --> 1.25.1-py311h64a7726_0
  openssl                                  3.1.0-hd590300_3 --> 3.1.1-hd590300_1
  ...
Proceed ([y]/n)? 

Si aceptamos las dependencias se realizará la instalación y veremos un mensaje de finalización exitoso similar a:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

Buenas prácticas

En los ejemplos vistos, tenemos dos entornos virtuales: mi_primer_entorno y mi_entorno_con_python.

Pero estos nombres no nos dicen mucho.

Debe recordar que cada entorno virtual puede contener distintas colecciones de software, por lo que es una buena práctica que el nombre del entorno virtual sea descriptivo para su uso.

De esta manera, se mostrará las dependencias necesarias y deberá aceptar la instalación.

Si desea instalar y aceptar todas las dependencias puede ejecutar

conda install -y Tensorflow

Más información

Le invitamos a visitar https://anaconda.org/ donde encontrará más información como software disponible para instalar.