Información de Uso JUPYTERHUB

Cómo usar el cluster con jupyterhub

Para realizar el uso del cluster por medio de Jupyterhub, se dispone de un ambiente genérico el cual pueden usar todos los usuarios. Sin embargo, este ambiente solo cuenta con algunos paquetes comunes, como lo son los paquetes por defecto que se instalan con Anaconda mas R y SageMath. Por ello, si se requieren usar paquetes distintos a los ya instalados en este ambiente, el usuario deberá crear un ambiente propio donde sí podrá instalar los paquetes y librerías que desee.

Creando un ambiente de Conda

Al crear/instalar un ambiente nuevo, el cuál es propio del usuario, se da la posibilidad de usar paquetes específicos sin afectar la ejecución o integridad de otros ambientes, lo que se traduce en un "espacio independiente" para el usuario.

De este modo, para instalar un nuevo ambiente de Conda para Jupyterhub, se debe ejecutar el siguiente comando:

conda create -n nombreDelAmbiente [paquete1 paquete2 ...]

donde nombreDelAmbiente es el nombre que se le va a dar al ambiente; en [paquete1 paquete2 ...] se escriben algunos paquetes que se quieran instalar al momento de crear el ambiente (de todos modos, puede instalar paquetes después de crear el ambiente, esto se explica más adelante), los nombres de los paquetes van separados por un espacio. Aquí un ejemplo de la creación de un ambiente:

conda create -n Jurgen python>=3.8

Este sería el caso en donde se crea un ambiente llamado Jurgen y se instala un paquete al momento de crearlo; python>=3.8 indica que se va a instalar Python en una versión mayor o igual a la 3.8. Si no se especificara esto último y solo se escribiera python, se instalaría la versión más reciente.

Para acceder al ambiente ya creado, se debe ejecutar el siguiente comando:

conda activate nombreDelAmbiente

por lo que para el ejemplo realizado, se haría de este modo:

conda activate Jurgen

por último, se requieren ejecutar 3 comandos para que el ambiente personalizado quede como un kernel de Jupyterhub en el directorio del usuario, estos son:

conda install pip (1)

conda install ipykernel (2)

python -m ipykernel install --user --name [nombreDelAmbiente] --display-name "[nombreMostrar]" (3)

En el último comando, [nombreMostrar] es el nombre con el que quiere que se muestre en su interfaz de Jupyterhub, por lo que para el ambiente Jurgen del ejemplo se tendría:

conda install pip

conda install ipykernel

python -m ipykernel install --user --name Jurgen --display-name "Python (Jurgen)"


Eliminar un ambiente

Eliminar o remover un ambiente de conda es una tarea sencilla. Para hacerlo, se requiere ejecutar sólo alguno de los 2 comandos a continuación:

conda remove -n nombreDelAmbiente --all

conda env remove -n nombreDelAmbiente

Si se quisiera eliminar, por ejemplo, el ambiente del ejemplo en Creando un Ambiente, se tendría que hacer lo siguiente:

conda remove -n Jurgen --all

o con el segundo comando mostrado:

conda env remove -n Jurgen


Hacer un backup o restaurar un ambiente (desde un backup existente)

Para no correr el riesgo de perder información o el trabajo realizado, es normal tener ciertas copias de los documentos, archivos, etc, por esta razón, es posible que busque crear un backup para sus ambientes. Un backup de un ambiente va a un archivo .yml en el que se guardan las dependencias del ambiente. Esto se puede realizar con un sencillo comando:

conda env export --name nombreDelAmbiente > environment.yml

donde environment.yml es el nombre que va a tener el archivo del backup; siguiendo los ejemplos de los puntos anteriores, se haría el backup así:

conda env export --name Jurgen > BackupJurgen.yml

Para restaurar un ambiente a partir de un archivo .yml en el que se tenga un backup, igualmente, se necesita ejecutar únicamente el siguiente comando:

conda env create --name ambienteCopia --file backupFile.yml

lo cual crea el ambiente con el nombre que se indique como ambienteCopia a partir del archivo backupFile.yml con las dependencias que el archivo tenga guardadas; así haríamos la copia a un ambiente llamado Jurgen2 a partir de la copia creada antes:

conda env create --name Jurgen2 --file BackupJurgen.yml


Instalar paquetes con Conda

Si requiere instalar algún paquete en específico en cierto ambiente, primero debe activar el ambiente (acceder a el) y luego instalar las dependencias que requiera. Esto se haría de la siguiente manera:

conda activate nombreDelAmbiente

conda install paquete1 paquete2 ...

o sin tener que activar el ambiente, se puede hacer de la forma que se muestra:

conda install -n nombreDelAmbiente paquete1 paquete2 ...

Por ejemplo, si se quisieran instalar los paquetes numpy y scipy en el ambiente Jurgen, tendríamos distintas maneras de hacerlo:

Forma 1:

conda activate Jurgen

conda install numpy scipy

Forma 2:

conda activate Jurgen

conda install numpy

conda install scipy

Forma 3 (sin activar previamente el ambiente):

conda install -n Jurgen numpy scipy