Jupyter Notebook: la forma más sencilla de compartir y documentar tu código

Te mostramos cómo instalar y sacar provecho a las facilidades de Jupyter Notebook y Jupyter Lab para compartir código.

En ocasiones, algo tan sencillo como compartir código puede convertirse en una tarea tediosa e incluso frustrante.

Situémonos, por ejemplo, en el caso de un profesor que tiene un salón lleno de estudiantes esperando por una clase práctica en donde le indicará una secuencia de códigos a ejecutar.

Es muy probable que no todos los estudiantes vayan al mismo ritmo, que se salten algún paso o se equivoquen al escribirlo en sus ordenadores. Sería muy difícil para él lograr mantener el ritmo de su clase de ese modo.

Si magnificamos un poco esta situación, tenemos al programador que necesita que los usuarios en internet sigan sus pasos uno a uno para que les funcione su última creación.

¿Cómo podemos resolverlo?

¿Recuerdan cómo se resolvió esta situación en los últimos artículos sobre Stable Diffusion?

Pues ahí está la respuesta, Jupyter Notebook.

¿Qué es Jupyter Notebook?

Jupyter Notebook es una interfaz web que permite ejecutar código desde un navegador que se comunica con un servidor local trasladando las instrucciones al sistema y devolviendo los resultados.

Cuenta con una licencia BSD modificada que permite que cualquier usuario lo utilice de forma gratuita en su ordenador.

Con este flujo de trabajo podemos crear documentos donde incluimos código ejecutable y las aclaraciones necesarias para explicarlos.

Una de sus características esenciales es que el código dentro de un cuaderno Jupyter se ejecuta en celdas independientes, pero mantienen el contexto.

O sea, en una celda podemos inicializar una variable con un valor para utilizarlo en cualquiera de las siguientes celdas.

Jupyter Notebook utiliza Markdown como lenguaje de manipulación de texto para crear elementos que utilizaremos para darle formato al texto que acompañará a nuestro código.

Si no conoces Markdown, te recomiendo esta web que cubre a la perfección todos los elementos que vas a necesitar para estar a tono con Jupyter Notebook.

▶️ Te puede interesar: Guía para empezar con Github Copilot

¿Con qué lenguajes de programación es compatible Jupyter Notebook?

Por defecto, podrás utilizar Jupyter Notebook solamente con el lenguaje Python. Pero esto no quiere decir que no se integre con otros. Por el contrario, tienes más de 100 lenguajes de programación que puedes integrar mediante la instalación de sus respectivos kernels.

Entre estas opciones tenemos Javascript, Typescript, C#, Ruby, R, Julia, Go, Erlang, Perl, PHP, Matlab, entre muchos otros que podrás encontrar en esta web, con las instrucciones necesarias para su instalación.

Instalación de Jupyter Notebook

Para instalar Jupyter Notebook en tu ordenador solo es necesario tener instalado Python con una versión actualizada.

Para esto vamos a la consola de nuestro sistema operativo y ejecutamos:

pip install jupyter

Este comando instalará todas las dependencias necesarias para ejecutar Jupyter Notebook en tu ordenador mediante el comando:

jupyter notebook

Al ejecutar este comando verás como la consola indica que fue creado un servidor local en tu ordenador que escucha peticiones por el puerto 8888 y posteriormente se abre automáticamente una ventana en tu navegador web con una interfaz como esta:

Interfaz de Jupyter Notebook

A partir de aquí podemos desplazarnos por nuestro sistema de archivos, crear nuevos cuadernos, revisar los procesos de Jupyter que se están ejecutando, entre otras opciones básicas.

Creemos un nuevo cuaderno.

Creando un cuaderno simple

Para crear un nuevo cuaderno debemos hacer clic en el botón Nuevo que se muestra a la derecha de la pantalla y seleccionar la opción Python 3 (ipykernel).

Al hacerlo, se abrirá una nueva pestaña en tu navegador con el nuevo cuaderno cargado.

Primer cuaderno Jupyter Jupyter Notebook: la forma más sencilla de compartir y documentar tu código

En este punto ya podemos comenzar a crear las celdas que necesitemos para resolver nuestro problema.

Cada una de estas celdas puede ser copiada, pegada, movida o ejecutada. Para crear una nueva celda basta con hacer clic en el botón +.

Puedes seleccionar el tipo de cada celda entre código, markdown, raw o heading.

Comencemos con algunos encabezados, para esto indicamos que la celda será Markdown.

Indicando que la celda es markdown Jupyter Notebook: la forma más sencilla de compartir y documentar tu código

Pongamos ahora nuestros primeros encabezados:

# SaasRadar + Jupyter Notebook
## A continuación estaremos ejecutando código Python

Ejecutamos las 2 celdas y obtenemos algo como esto:

Encabezados Jupyter Notebook: la forma más sencilla de compartir y documentar tu código

Ejecutemos ahora algunas instrucciones básicas de Python:

print(“Hola mundo”)
Hola Mundo Jupyter Notebook: la forma más sencilla de compartir y documentar tu código

Como puedes observar, al ejecutar el bloque de código aparecerá la salida debajo, la cual permanecerá ahí hasta que indiquemos lo contrario.

Esto tiene mucha utilidad al exportar el cuaderno con fines educativos, ya que para otras personas no será necesario ejecutarlo nuevamente para saber qué devuelve cada instrucción.

Otro aspecto a aclarar en cuanto a la ejecución de código es que mientras aparezca un * entre los corchetes a la izquierda del código, quiere decir que se encuentra en ejecución. Una vez concluida la ejecución de la celda, aparecerá un número dentro de estos corchetes.

Hagamos algunas operaciones matemáticas simples.

Operaciones matematicas Jupyter Notebook: la forma más sencilla de compartir y documentar tu código

En este ejemplo vemos como podemos utilizar las variables que declaramos en una celda en cualquiera de las siguientes.

Para trabajar con ciclos, mostremos los números pares entre el 1 y el 10:

Ciclos Jupyter Notebook: la forma más sencilla de compartir y documentar tu código

Hasta ahora todo funciona a la perfección, ¿cierto?

Supongamos ahora que quiero saber la versión de Python que estoy utilizando en mi cuaderno. Usualmente haríamos esto:

python –version

Pero …

Version de Python Jupyter Notebook: la forma más sencilla de compartir y documentar tu código

Veamos el por qué de este error a continuación.

Contexto en Jupyter Notebook

Es importante aclarar que todo el código que pongamos en el cuaderno se ejecutará dentro de la Shell de Python.

Si abrimos una consola y escribimos “python” y damos enter, entramos a este modo de la forma normal.

En la Shell de Python solo se pueden utilizar las instrucciones del lenguaje, por lo que no se podrán utilizar comandos del sistema.

En el caso del error anterior, estábamos intentando obtener la versión de Python y ejecutamos el comando de consola, no la instrucción del lenguaje para lograr este objetivo.

Si queremos ejecutar comandos fuera del Shell de Python debemos agregar un signo de exclamación delante (!). Quedaría del siguiente modo:

!python –version

Veamos el resultado:

Version de Python sin error Jupyter Notebook: la forma más sencilla de compartir y documentar tu código

En este caso sí pudimos obtener la versión correctamente. Esto aplica para todos los comandos fuera de la Shell.

Exportando un cuaderno

Una vez que el cuaderno quede listo para su distribución, debemos exportarlo utilizando el menú Archivo en formato .ipynb.

Esto permite que otros usuarios lo carguen en su ordenador y ejecuten cada paso a base de clics.

Si solo necesitamos que sea visualizado el contenido del cuaderno, así como los resultados de la ejecución del código podemos exportar a otros formatos como HTML o PDF.

Jupyter Lab

Jupyter Lab es una mejora de Jupyter Notebook que permite la gestión de todo un ecosistema de cuadernos Jupyter que pueden ser ejecutados o editados en pestañas sin salir de la página.

Contiene una arquitectura modular y permite ampliarse a través de complementos.

De este modo, se espera que por las facilidades que brinda vaya sustituyendo poco a poco a los cuadernos clásicos de Jupyter hasta convertirse en el estándar.

Puedes instalar Jupyter Lab mediante el comando:

pip install jupyterlab

Y posteriormente ejecutarlo mediante:

jupyter lab

Al hacerlo, veremos una interfaz avanzada respecto a la que hemos analizado hasta el momento:

JupyterLab Jupyter Notebook: la forma más sencilla de compartir y documentar tu código

Conclusiones

  • Jupyter Notebook es una tecnología que permite programar y documentar el código desde tu navegador web.
  • Para lograrlo crea un servidor local en tu ordenador que ejecuta las instrucciones del lenguaje y devuelve los resultados a la web.
  • Por defecto trae integrado el kernel para el lenguaje de programación Python.
  • Puedes agregarle otros lenguajes de programación de una lista de más de 100 actualmente.
  • Jupyter Lab supone una mejora en la interfaz de Jupyter Notebook que permite la gestión de varios documentos con opciones avanzadas.
  • Jupyter es la mejor variante para distribuir una secuencia de pasos documentados para ámbitos educacionales, de despliegue de software, de inteligencia artificial, etc.

Es todo lo que traía para hoy, el resto queda de tu parte.

Al menos en mi caso, he recibido esta tecnología como una bendición en los despliegues de mis proyectos, donde una vez programado el cuaderno, solo debo cargarlos y hacer clic para tener todo montado en cualquier servidor.

Si te gustó este artículo te invito a ver la utilidad práctica de lo aprendido hoy en temas complejos de inteligencia artificial con la unión de DreamBooth con Stable Diffusion para entrenar modelos personalizados.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.