Files
training.python.datascience/documentation/new-01.2-jupyter.md
2025-07-04 19:58:11 +02:00

5.2 KiB

title, author
title author
Jupyter Steve Kossouho

Jupyter


Qu'est-ce que Jupyter ?

Jupyter est un serveur web proposant une interface de console interactive Python avancée. Le projet trouve ses origines dans le projet ipython, qui est une console interactive avancée pour terminal.

ipython a été créé par Fernando Pérez en 2001. L'outil interactif web associé, ipython notebook, a été créé fin 2011. Ce n'est qu'en 2014 que ce projet a été extrait du projet IPython pour devenir Jupyter.

Jupyter est très utilisé par des professionnels pratiquant l'analyse de données, car il est pratique via son interface d'itérer et de tester des choses simples.


Carnet de notes Jupyter


Avantages de Jupyter pour l'analyse de données

Grâce à son interface présentée en cahier modulaire, il est très pratique de rédiger des bouts de code plus ou moins indépendants les uns des autres. Il est même possible de rédiger des blocs de texte pour annoter des carnets Jupyter (au format Markdown).

L'avantage visuel de Jupyter par rapport à l'exécution de scripts complets est que la sortie d'exécution d'une cellule de code apparaît directement dans l'interface, sous la zone de code exécutée.

Les professionnels voulant réaliser des scripts simples pour traiter des données d'entrée auront ainsi la facilité de vérifier si une portion de leur code pose problème.


Installation et démarrage de Jupyter

Pour installer et lancer Jupyter sur sa propre machine, il faut installer un paquet avec pip :

pip install jupyter

Une solution plus avancée que Jupyter peut être alternativement installée; elle propose des fonctionnalités supplémentaires, ainsi qu'une interface plus avancée et plus proche de celle d'un IDE comme PyCharm :

pip install jupyterlab

Démarrer Jupyter ou Jupyterlab

Une fois la bibliothèque de votre choix installée, vous pouvez démarrer un serveur de carnets via une des commandes suivantes :

jupyter notebook  # nécessite d'installer jupyter
jupyter-lab  # nécessite d'installer jupyterlab

Interface de Jupyter, cellules et kernel

Jupyter vous permet de créer facilement, dans un carnet, des zones indépendantes, dans lesquelles vous pouvez saisir du code, ou bien du texte au format Markdown.

Types de cellules Jupyter


Kernel

Un Kernel Jupyter est un environnement d'exécution avec lequel Jupyter est capable de communiquer, pour exécuter des bouts de code entre autres.

Le Kernel le plus connu est fourni par la bibliothèque ipython; il communique avec l'application Jupyter via un protocole réseau fourni par une application nommée ZeroMQ, et fournit une console interactive Python. Les variables qui sont créées pendant son exécution restent disponibles pendant toute la durée de vie du kernel.


Raccourcis clavier utiles de Jupyter

Il existe deux endroits pour envoyer des raccourcis clavier à Jupyter :

  • L'édition d'une cellule (presser [Entrée])
  • L'interface générale (presser [ESC])

Lors de l'édition

  • Tab : autocomplétion ou indentation
  • Shift + Tab : infobulle de documentation
  • Ctrl + ] : Indentation de la ligne
  • Ctrl + [ : Désindentation de la ligne
  • Ctrl + Shift + P : Palette de commandes
  • Alt + ↑/↓ : Déplacer la ligne courante

Dans l'interface générale

  • ↑/↓ : Sélectionner une cellule
  • Shift + ↑/↓ : Augmenter ou réduire la sélection de cellules
  • D + D : Supprimer les cellules sélectionnées
  • Y : Définir la cellule comme étant du code
  • M : Définir la cellule comme étant du Markdown

Toujours disponibles

  • Shift + Entrée : Exécuter la cellule, passer à la suivante
  • Ctrl + Entrée : Exécuter les cellules sélectionnées
  • Alt + Entrée : Exécuter la cellule, ajouter une nouvelle en dessous

Fonctionnement des cellules de code

Lorsque vous exécutez un Kernel Jupyter, vous êtes dans une console interactive Python dans laquelle chaque exécution peut changer l'état général (variables créées, mises à jour).

Quand vous exécutez une cellule, Jupyter imite la console interactive Python en affichant automatiquement la valeur de la dernière instruction d'une cellule.

Pour certains types (ex. pandas.DataFrame{.python} ou matplotlib.axes.Axes{.python}), le rendu peut être augmenté en affichant par exemple un tableau HTML, ou directement le contenu d'un graphique.


Rendu avec display


Affichage adaptatif des contenus

Vous voudrez occasionnellement pouvoir afficher de façon augmentée plusieurs contenus dans la même cellule, ce qui n'est pas possible de base puisque seule la dernière instruction provoque un affichage.

Jupyter propose en réalité une fonction anormalement confidentielle, display(){.python}, qui affiche les objets de façon améliorée lorsque c'est possible.


Rendu avec display