Entornos Virtuales de Python

De NLHPC

Introducción

La presente wiki tiene el fin de mostrar en sencillos pasos como un usuario puede crear un entorno virtual de Python para su uso y gestión.

Debe considerar que el uso de entornos virtuales, conlleva la responsabilidad de la administración por el propio usuario de la instalación de librerías que deba requerir, como también considerar que el performance que pueda obtener será distinto en comparación a las librerías que instale el equipo de soporte del NLHPC.

Creando un entorno virtual

Carga de Módulo Python

El primer paso es cargar el módulo de Python que necesite utilizar.

Puede buscar las distintas versiones disponibles ejecutando:

ml spider Python

Y cargar el módulo indicando la versión, por ejemplo:

ml Python/3.9.5

Creación de entorno virtual

Ya con el módulo de Python para su uso, crearemos el entorno virtual con el comando:

python -m venv mi_entorno

Puede reemplazar el nombre mi_entorno por el nombre que desee. También debe saber la úbicación de su entorno para futuro uso.

Activación de entorno virtual

Para hacer uso de nuestro entorno virtual deberemos activarlo con el siguiente comando:

source mi_entorno/bin/activate

En el caso de necesitar cambiar de entorno o solo desactivarlo puede ejecutar:

deactivate

Uso de entorno virtual

Instalación de librerías

Con nuestro entorno virtual activo, el usuario podrá instalar librerías ejecutando, por ejemplo:

pip install numpy

o la librería que necesite.

Debe considerar que una instalación así no estará optimizada.

Ejecutando scripts con el entorno virtual

Al ejecutar un script de Python deberá tener el entorno virtual activo. De lo contrario puede estar utilizando otra versión de Python.

Para conocer qué versión de Python está utilizando:

python -V

Para conocer la ubicación exacta del ejecutable de Python, ejecutar:

which python

En este último caso, la ruta deberá contener el nombre de su entorno virtual.

El uso de Python, non requiere de otra preparación más que el entorno virtual esté activo

Uso de entornos virtuales con SLURM

Para utilizar su entorno virtual bajo slurm, puede utilizar un script como el siguiente:

#!/bin/bash
#SBATCH -J virtest
#SBATCH -p general
#SBATCH -n 1
#SBATCH -c 1
#SBATCH --mem-per-cpu=4363
#SBATCH --mail-user=foo@example.com
#SBATCH --mail-type=ALL
#SBATCH -o virtest_%j.out
#SBATCH -e virtest_%j.err

ml Python/3.9.5

source mi_entorno/bin/activate

python mi_script.py

Lo importante dentro del script es:

  • Cargar el módulo de Python necesario
  • Cargar módulos extras de ser requeridos
  • Activar el entorno virtual

Palabras finales

El uso de entornos virtuales de Python como se plantea en este documento, permite su uso de manera más autónoma para el usuario, lo que permitirá realizar modifiaciones de manera más dinámica en su entorno.

Al ser un entorno personalizado, el soporte que se podrá otorgar será limitado en relación a los módulos de Python y librerías compiladas ya disponibles en el Cluster.