Skip to content
Tutoriales
Streamlit
¿Se puede ejecutar una aplicación de Streamlit en un entorno Jupyter? Descubrámoslo:

¿Se puede ejecutar una aplicación de Streamlit en un entorno Jupyter? Descubrámoslo:

En el siempre cambiante panorama de la ciencia de datos, dos herramientas han surgido como revolucionarias por su capacidad de transformar datos complejos en aplicaciones interactivas y fáciles de usar: Streamlit y Jupyter. Si bien son herramientas separadas, cada una con sus propias fortalezas únicas, se pueden usar juntas en un flujo de trabajo para desarrollar y implementar aplicaciones de datos interactivas.

Streamlit es una poderosa herramienta para crear aplicaciones de datos interactivas, mientras que Jupyter es un entorno versátil para la computación interactiva. Las aplicaciones de Streamlit no suelen ejecutarse directamente en Jupyter. En cambio, se escriben como scripts de Python y se ejecutan desde una línea de comandos donde está instalado Streamlit. Esta guía explorará en profundidad estas herramientas, explorando sus características únicas, cómo se pueden usar juntas en un flujo de trabajo y cómo desarrollar e implementar aplicaciones de Streamlit utilizando cuadernos Jupyter.

¿Has oído hablar de esta increíble herramienta de análisis de datos y visualización de datos, que convierte tu aplicación de Streamlit en Tableau?

PyGWalker (opens in a new tab) es una biblioteca de Python que te ayuda a incrustar fácilmente una interfaz similar a Tableau en tu propia aplicación de Streamlit sin esfuerzo.

PyGWalker para visualización de datos en Streamlit (opens in a new tab)

Introducción a Streamlit y Jupyter

¿Qué es Streamlit?

Streamlit es una biblioteca de Python de código abierto que permite a los científicos de datos y desarrolladores crear hermosas aplicaciones web interactivas con solo unas pocas líneas de código. Está diseñado para manejar la exploración de datos, el entrenamiento de modelos y los flujos de trabajo de aprendizaje automático con facilidad. La simplicidad y eficiencia de Streamlit lo han convertido en una opción popular entre los profesionales de datos.

¿Qué es Jupyter?

Jupyter es un entorno versátil para la computación interactiva. Ofrece todos los elementos de construcción conocidos del Jupyter Notebook clásico (cuaderno, terminal, editor de texto, navegador de archivos, salidas enriquecidas, etc.) en una interfaz de usuario flexible y poderosa. Jupyter te permite trabajar con documentos y actividades como cuadernos Jupyter, editores de texto, terminales y componentes personalizados de manera flexible, integrada y extensible.

Desarrollo de aplicaciones de Streamlit en cuadernos Jupyter

Si bien Streamlit y Jupyter son herramientas separadas, se pueden usar juntas en un flujo de trabajo. Puedes desarrollar y previsualizar tus aplicaciones de Streamlit dentro de un cuaderno Jupyter utilizando el paquete streamlit-jupyter (opens in a new tab). Este paquete te permite usar widgets y componentes de Streamlit dentro de tu cuaderno para fines de desarrollo y visualización.

El paquete Streamlit-Jupyter

El paquete Streamlit-Jupyter (opens in a new tab) es un paquete simple de Python que te permite previsualizar y desarrollar aplicaciones de Streamlit dentro de cuadernos Jupyter. Proporciona envoltorios compatibles con Jupyter para los métodos de Streamlit, lo que te permite usar los widgets y componentes interactivos de Streamlit dentro de tu cuaderno.

No hay problema, continuemos.

El paquete Streamlit-Jupyter

El paquete Streamlit-Jupyter (opens in a new tab) es un paquete simple de Python que te permite previsualizar y desarrollar aplicaciones de Streamlit dentro de cuadernos Jupyter. Proporciona envoltorios compatibles con Jupyter para los métodos de Streamlit, lo que te permite usar los widgets y componentes interactivos de Streamlit dentro de tu cuaderno.

Para usar este paquete, comienza importando Streamlit y parcheándolo con Streamlit-Jupyter:

import streamlit as st
from streamlit_jupyter import streamlit_patcher
streamlit_patcher.jupyter()

Ahora puedes desarrollar tu cuaderno como de costumbre, pero con la capacidad adicional de utilizar las funciones interactivas de Streamlit. Esto puede ser particularmente útil para experimentar con diferentes visualizaciones y componentes antes de convertir tu cuaderno en una aplicación de Streamlit.

Convertir cuadernos Jupyter en aplicaciones de Streamlit

Una vez que hayas desarrollado y previsualizado tu aplicación de Streamlit dentro de un cuaderno Jupyter, el siguiente paso es convertir tu cuaderno en un script de Python que pueda ejecutar Streamlit. Esto se puede hacer utilizando una herramienta llamada Jupytext, como se muestra en este video de YouTube (opens in a new tab).

Jupytext es un paquete de Python que puede convertir cuadernos Jupyter a diferentes formatos, incluidos los scripts. Te permite convertir tu cuaderno, con todas sus celdas de markdown y celdas de código, en un script de Python que se puede ejecutar como una aplicación de Streamlit.

Aquí tienes un ejemplo sencillo de cómo usar Jupytext para convertir un cuaderno en un script de Python:

jupytext --to py tu_cuaderno.ipynb

Este comando creará un script de Python llamado tu_cuaderno.py a partir de tu cuaderno tu_cuaderno.ipynb. Luego puedes ejecutar este script como una aplicación de Streamlit usando el comando streamlit run:

streamlit run tu_cuaderno.py

Ejecución de aplicaciones de Streamlit

Las aplicaciones de Streamlit suelen ejecutarse desde una línea de comandos donde Streamlit está instalado. Puedes ejecutar tu aplicación de Streamlit navegando hasta el directorio que contiene el script de Python de tu aplicación y utilizando el comando streamlit run seguido del nombre de tu script:

streamlit run tu_script.py

Esto iniciará el servidor de Streamlit y abrirá tu navegador web predeterminado en la URL de tu aplicación, típicamente http://localhost:8501.

Conclusión

Streamlit y JupyterLab son herramientas poderosas en el arsenal de la ciencia de datos. Si bien cada una tiene sus propias fortalezas únicas, también se pueden utilizar juntas en un flujo de trabajo para desarrollar aplicaciones de datos interactivas. Con la ayuda del paquete Streamlit-Jupyter, puede desarrollar y previsualizar aplicaciones de Streamlit dentro de los cuadernos de Jupyter, y luego usar Jupytext para convertir sus cuadernos en scripts de Python que se pueden ejecutar como aplicaciones de Streamlit.

Ya sea que esté explorando datos, construyendo modelos de aprendizaje automático o creando paneles interactivos, Streamlit y JupyterLab ofrecen una forma flexible y eficiente de convertir sus datos en aplicaciones interactivas.

¿Has oído hablar de esta increíble herramienta de análisis y visualización de datos que convierte tu aplicación de Streamlit en Tableau?

PyGWalker (opens in a new tab) es una biblioteca de Python que te ayuda a incrustar fácilmente una interfaz similar a Tableau en tu propia aplicación de Streamlit sin esfuerzo.

PyGWalker para visualización de datos en Streamlit (opens in a new tab)

Preguntas frecuentes

¿Es compatible Streamlit con Jupyter notebook?

Si bien Streamlit y Jupyter son herramientas separadas, se pueden usar juntas en un flujo de trabajo. Puede desarrollar y previsualizar sus aplicaciones de Streamlit dentro de un cuaderno de Jupyter utilizando el paquete streamlit-jupyter.

¿Cómo implemento un cuaderno de Jupyter en Streamlit?

Puede convertir su cuaderno de Jupyter en un script de Python utilizando una herramienta como Jupytext, y luego ejecutar este script como una aplicación de Streamlit utilizando el comando streamlit run.

¿Cuál es la diferencia entre Jupyter y JupyterHub?

Jupyter es un entorno versátil para la computación interactiva, mientras que JupyterHub es una versión multiusuario de Jupyter que permite a varios usuarios utilizar cuadernos de Jupyter, colaborar y compartir recursos.

¿Qué herramientas son similares a JupyterHub?

Existen varias herramientas similares a JupyterHub, incluyendo RStudio Server, Apache Zeppelin y Databricks.

¿Cuál es la diferencia entre Streamlit y Jupyter Notebook?

Streamlit es una herramienta para crear aplicaciones interactivas de datos, mientras que Jupyter Notebook es un entorno para la computación interactiva y la exploración de datos. Las aplicaciones de Streamlit suelen escribirse como scripts de Python y se ejecutan desde una línea de comandos, mientras que los cuadernos de Jupyter son basados en web y permiten la codificación y visualización de datos interactivos.

¿Cómo ejecuto Streamlit en JupyterLab?

Si bien puede desarrollar y previsualizar aplicaciones de Streamlit dentro de un cuaderno de Jupyter utilizando el paquete streamlit-jupyter, las aplicaciones de Streamlit se ejecutan típicamente desde una línea de comandos donde está instalado Streamlit, no directamente dentro de JupyterLab.