Pouvez-vous exécuter une application Streamlit dans l'environnement Jupyter ? Découvrons-le :
Updated on
Dans le paysage en constante évolution de la science des données, deux outils ont émergé comme des changements de jeu pour leur capacité à transformer des données complexes en applications interactives conviviales : Streamlit et Jupyter. Bien qu'ils soient des outils distincts, chacun ayant ses propres forces uniques, ils peuvent être utilisés ensemble dans un flux de travail pour développer et déployer des applications de données interactives.
Streamlit est un outil puissant pour créer des applications de données interactives, tandis que Jupyter est un environnement polyvalent pour le calcul interactif. Les applications Streamlit ne sont généralement pas exécutées directement dans Jupyter. Au lieu de cela, elles sont écrites sous forme de scripts Python et exécutées à partir d'une ligne de commande où Streamlit est installé. Ce guide explorera en profondeur ces outils, en explorant leurs fonctionnalités uniques, comment ils peuvent être utilisés ensemble dans un flux de travail, et comment développer et déployer des applications Streamlit en utilisant des notebooks Jupyter.
Avez-vous entendu parler de cet outil impressionnant d'analyse de données et de visualisation de données, qui transforme votre application Streamlit en Tableau ?
PyGWalker (opens in a new tab) est une bibliothèque Python qui vous aide à intégrer facilement une interface utilisateur de type Tableau dans votre propre application Streamlit sans effort.
Introduction à Streamlit et Jupyter
Qu'est-ce que Streamlit ?
Streamlit est une bibliothèque Python open-source qui permet aux scientifiques des données et aux développeurs de créer de belles applications web interactives en seulement quelques lignes de code. Il est conçu pour gérer l'exploration des données, la formation des modèles et les workflows d'apprentissage automatique avec facilité. La simplicité et l'efficacité de Streamlit en ont fait un choix populaire parmi les professionnels des données.
Qu'est-ce que Jupyter ?
Jupyter est un environnement polyvalent pour le calcul interactif. Il offre tous les éléments de construction familiers du classique Jupyter Notebook (notebook, terminal, éditeur de texte, navigateur de fichiers, sorties riches, etc.) dans une interface utilisateur souple et puissante. Jupyter vous permet de travailler avec des documents et des activités telles que les notebooks Jupyter, les éditeurs de texte, les terminaux et les composants personnalisés de manière souple, intégrée et extensible.
Développement d'applications Streamlit dans des notebooks Jupyter
Bien que Streamlit et Jupyter soient des outils distincts, ils peuvent être utilisés ensemble dans un flux de travail. Vous pouvez développer et prévisualiser vos applications Streamlit dans un notebook Jupyter en utilisant le package streamlit-jupyter (opens in a new tab). Ce package vous permet d'utiliser des widgets et des composants Streamlit dans votre notebook à des fins de développement et de visualisation.
Le package Streamlit-Jupyter
Le package Streamlit-Jupyter (opens in a new tab) est un simple package Python qui vous permet de prévisualiser et de développer des applications Streamlit dans des notebooks Jupyter. Il fournit des adaptations compatibles avec Jupyter pour les méthodes Streamlit, ce qui vous permet d'utiliser les widgets interactifs et les composants de Streamlit dans votre notebook.
Pas de problème, continuons.
Le package Streamlit-Jupyter
Le package Streamlit-Jupyter (opens in a new tab) est un simple package Python qui vous permet de prévisualiser et de développer des applications Streamlit dans des notebooks Jupyter. Il fournit des adaptations compatibles avec Jupyter pour les méthodes Streamlit, ce qui vous permet d'utiliser les widgets interactifs et les composants de Streamlit dans votre notebook.
Pour utiliser ce package, vous commencez par importer Streamlit et le patcher avec Streamlit-Jupyter :
import streamlit as st
from streamlit_jupyter import streamlit_patcher
streamlit_patcher.jupyter()
Maintenant, vous pouvez développer votre notebook comme d'habitude, mais avec la possibilité supplémentaire d'utiliser les fonctionnalités interactives de Streamlit. Cela peut être particulièrement utile pour expérimenter avec différentes visualisations et composants avant de convertir votre notebook en une application Streamlit.
Conversion de notebooks Jupyter en applications Streamlit
Une fois que vous avez développé et prévisualisé votre application Streamlit dans un notebook Jupyter, la prochaine étape consiste à convertir votre notebook en un script Python qui peut être exécuté par Streamlit. Cela peut être fait à l'aide d'un outil appelé Jupytext, comme le montre cette vidéo YouTube (opens in a new tab).
Jupytext est un package Python qui peut convertir les notebooks Jupyter vers différents formats, y compris les scripts. Il vous permet de convertir votre notebook, avec toutes ses cellules de texte et de code, en un script Python qui peut être exécuté en tant qu'application Streamlit.
Voici un exemple simple d'utilisation de Jupytext pour convertir un notebook en un script Python :
jupytext --to py votre_notebook.ipynb
Cette commande créera un script Python nommé votre_notebook.py
à partir de votre notebook votre_notebook.ipynb
. Vous pouvez ensuite exécuter ce script en tant qu'application Streamlit en utilisant la commande streamlit run
:
streamlit run votre_notebook.py
Exécution d'applications Streamlit
Les applications Streamlit sont généralement exécutées à partir d'une ligne de commande où Streamlit est installé. Vous pouvez exécuter votre application Streamlit en accédant au répertoire contenant le script Python de votre application et en utilisant la commande streamlit run
, suivie du nom de votre script :
streamlit run votre_script.py
Cela démarrera le serveur Streamlit et ouvrira votre navigateur web par défaut à l'URL de votre application, généralement http://localhost:8501
.
Conclusion
Streamlit et JupyterLab sont des outils puissants dans l'arsenal de la science des données. Bien qu'ils aient chacun leurs propres forces uniques, ils peuvent également être utilisés ensemble dans un flux de travail pour développer des applications interactives de données. Grâce au package Streamlit-Jupyter, vous pouvez développer et prévisualiser des applications Streamlit dans des notebooks Jupyter, puis utiliser Jupytext pour convertir vos notebooks en scripts Python pouvant être exécutés en tant qu'applications Streamlit.
Que vous exploriez des données, construisiez des modèles d'apprentissage automatique ou créiez des tableaux de bord interactifs, Streamlit et JupyterLab offrent un moyen flexible et efficace de transformer vos données en applications interactives.
Avez-vous entendu parler de cet outil impressionnant d'analyse de données et de visualisation de données, qui transforme votre application Streamlit en Tableau ?
PyGWalker (opens in a new tab) est une bibliothèque Python qui vous aide à intégrer facilement une interface utilisateur similaire à celle de Tableau dans votre propre application Streamlit sans effort.
Questions fréquemment posées
Streamlit est-il compatible avec Jupyter Notebook ?
Bien que Streamlit et Jupyter soient des outils distincts, ils peuvent être utilisés ensemble dans un flux de travail. Vous pouvez développer et prévisualiser vos applications Streamlit dans un notebook Jupyter à l'aide du package streamlit-jupyter.
Comment déployer un notebook Jupyter sur Streamlit ?
Vous pouvez convertir votre notebook Jupyter en un script Python à l'aide d'un outil tel que Jupytext, puis exécuter ce script en tant qu'application Streamlit en utilisant la commande streamlit run
.
Quelle est la différence entre Jupyter et JupyterHub ?
Jupyter est un environnement polyvalent pour le calcul interactif, tandis que JupyterHub est une version multi-utilisateurs de Jupyter qui permet à plusieurs utilisateurs d'utiliser des notebooks Jupyter, de collaborer et de partager des ressources.
Quels sont les outils similaires à JupyterHub ?
Il existe plusieurs outils similaires à JupyterHub, notamment RStudio Server, Apache Zeppelin et Databricks.
Quelle est la différence entre Streamlit et Jupyter Notebook ?
Streamlit est un outil permettant de créer des applications de données interactives, tandis que Jupyter Notebook est un environnement pour le calcul interactif et l'exploration de données. Les applications Streamlit sont généralement écrites sous forme de scripts Python et exécutées à partir d'une ligne de commande, tandis que les notebooks Jupyter sont basés sur le web et permettent un codage interactif et une visualisation de données.
Comment exécuter Streamlit dans JupyterLab ?
Bien que vous puissiez développer et prévisualiser des applications Streamlit dans un notebook Jupyter à l'aide du package streamlit-jupyter, les applications Streamlit sont généralement exécutées à partir d'une ligne de commande où Streamlit est installé, et non directement dans JupyterLab.