JupyterHub: Acceso a JupyterLab y RStudio en la nube#

¿Qué es Jupyter?#

Jupyter es un ecosistema abierto (open source) de computación desarrollado por el Proyecto Jupyter que incluye herramientas para el desarrollo, intercambio y presentación interactiva de código y proyectos de análisis de datos, con apoyo para una gran cantidad de lenguajes de programación (su nombre se deriva de los lenguajes de código abierto Julia, Python y R).

Más información, instrucciones y tutoriales sobre Jupyter#

Consulta nuestro tutorial sobre Jupyter del programa «Aula Invertida». Este tutorial incluye una reseña del uso de cuadernos Jupyter, instrucciones para cambiar el interfaz de JupyterLab al español, e instrucciones para instalar JupyterLab en tu computadora.

Aquí puedes acceder a un video en YouTube grabado durante el «Taller Intermedio», cuando cubrimos el tutorial de JupyterHub – el material abarcado en esta página.

Entorno computacional compartido, en la nube#

Enseñar software a un grupo diverso de participantes, cada uno/a con diferentes computadoras y sistemas operativos, es un desafío. Tenemos formas específicas de configurar nuestro software para que los tutoriales sean exitosos, por lo que lleva tiempo configurarlos todos de manera consistente. Nuestra solución a este reto es brindarles a los/as participantes de eventos del OceanHackWeek en español acceso a un entorno de computación en la nube preconfigurado para el software específico que implementamos, y con flexibilidad para el desarrollo de proyectos de equipo. Se accede a este entorno de computación en la nube desde cualquier navegador web, lo que elimina la necesidad (y complicación!) de configurar la computadora individual de cada persona con las bibliotecas, dependencias y aplicaciones necesarias.

En este entorno compartido, cada usuario tiene su propia cuenta pre-configurada a los mismos entornos de Python y R y acceso a recursos computacionales idénticos. Este entorno global está basado en el sistema JupyterHub (parte del ecosistema Jupyter), el cual nos permite comenzar a trabajar rápidamente con código sin perder tiempo configurando la computadora de cada quien. JupyterHub da acceso tanto a la aplicación JupyterLab para programar en Python (y otros lenguajes) como a la aplicación RStudio para R. Utilizaremos estas dos aplicaciones para seguir y correr los tutoriales.

Te recomendamos que utilices nuestros recursos compartidos de JupyterHub para ejecutar todos los tutoriales y para sus proyectos. También esperamos que practiques la instalación de bibliotecas de Python y R localmente en tu computadora portátil para que puedas continuar trabajando después que concluya nuestro evento.

Acceso a «El Hub», nuestro entorno compartido en la nube#

El acceso a nuestro entorno computacional de JupyterHub en la nube («El Hub») es fácil. Accede a https://oceanhackweek.2i2c.cloud en tu navegador:

hub-opening

Ahora presiona el botón «Log in para continuar», y la siguiente pantalla te pedirá tu nombre de usuario y contraseña de tu cuenta de GitHub para entrar con tus credenciales de GitHub:

sign-in with github

Presiona el botón «Sign in». La siguiente pantaya sólo aparecerá la primera vez que entres al Hub.

¡Ya estás adentro!#

Ahora sólo falta seleccionar el lenguaje de programación y la aplicación que deseas usar en la sesión actual: «Python en JupyterLab» o «R en RStudio»

hub select Python or R

Una vez hecha la selección, verás una notificación como esta mientras el entorno de JupyterHub está cargando:

hub-loading

Tomará un poco de tiempo en cargar y estar listo, especialmente la primera vez. ¡Ten paciencia! Una vez que esté listo:

¿Seleccionaste Python o R? Presiona la pestaña correspondiente

Si seleccionaste «Python», verás tu propia instancia de JupyterLab:

JupyterLab - inglés

Y al cambiar el idioma del interfaz a español:

JupyterLab - español

Si seleccionaste R, verás tu propia instancia de RStudio (en inglés):

RStudio

¿Cómo cargo el repositorio de los tutoriales al Hub?#

Para los tutoriales, recomendamos el uso de nbgitpuller para clonar y extraer el repositorio de los tutoriales, o actualizar la copia que ya tienes. Utiliza el enlace mágico nbgitpuller a continuación para lograr este clon o actualización.

Haz git pull del repositorio de los tutoriales usando la magia de nbgitpuller

El enlace nbgitpuller es mágico, pero no puede detectar cual entorno (Python o R) estás ejecutando actualmente. Ambos enlaces, de Python y R, actualizan el mismo repositorio de tutoriales, pero pueden dar un error si utilizas el enlace de Python mientras estás en el entorno de R, o viceversa. Para subir o actualizar los tutoriales del repositorio tutorialesOHW2024 en tu cuenta en el Hub, presiona la pestaña correspondiente:

Alternativa con comandos de git (¡con cuidado!)#

Nbgitpuller es genial, porque incorpora («merge») automáticamente cualquier cambio hecho en el Hub con cambios ocurridos en repositorio fuente cuando presionas el enlace de nueva, utilizando una serie de reglas básicas (enlace en inglés).

Puedes obtener el mismo resultado que nbgitpuller utilizando git directamente, pero puede requerir una combinación complicada de git add, git stash, git pull, y git stash apply para retener tus cambios junto con los cambios hechos en el repositorio fuente.

¡Atención! Si comienzas utilizando el enlace de nbgitpuller y luego tratas de cambiar al uso de git directamente, cuando trates de usar el enlace de nbgitpuller de nuevo es muy probable que te encuentres con resultados impredecibles (enlace en inglés). Esto puede ser corregido borrando, moviendo o cambiando el nombre del directory de los tutoriales y utilizando nbgitpuller de nuevo.

Cierra tu sesión en el Hub cada día. ¿Perderás todo tu trabajo?#

Es muy importante cerrar la sesión en el Hub cuando termines de usarla por el día o por un período prolongado. Esto nos ayuda a reducir el costo de la infraestructura en la nube.

Presiona la pestaña correspondiente a la sesión (entorno) que estás usando actualmente

Accede al menú Archivo > Panel de Control:

hub shut down step 1

luego presiona el botón Stop My Server y el enlace logout arriba a la derecha.

hub shut down step 2

El menú Archivo > Cerrar sesión en realidad no cierra la sesión del Hub, así que por favor sigue estos pasos.

Los menús File > Log out y File > Quit session en realidad no hacen nada! Presiona el enlace https://oceanhackweek.2i2c.cloud/hub/home, y luego presiona el botón Stop My Server y el enlace logout arriba a la derecha, como mencionamos en las instrtucciones de Python.

hub shut down step 2

No perderás tu trabajo#

Cerrar la sesión del Hub (Stop My Server) NO causará la pérdida de tu trabajo o archivos que has creado. Simplemente apaga algunos recursos computacionales. Es equivalente a apagar tu computadora al final del día.