Comment configurer le bloc-notes Jupyter pour Python 3 sur Ubuntu 22.04

Introduction

Jupyter Notebook offre une coquille de commande pour le calcul interactif en tant qu’application web. L’outil peut être utilisé avec plusieurs langages, notamment Python, Julia, R, Haskell et Ruby. Il est souvent utilisé pour travailler avec des données, la modélisation statistique et l’apprentissage automatique.

Ce tutoriel vous guidera dans la configuration de Jupyter Notebook pour fonctionner soit en local, soit à partir d’un serveur Ubuntu 22.04, ainsi que vous apprendre à vous connecter et à utiliser le notebook. Les notebooks Jupyter (ou simplement des notebooks) sont des documents produits par l’application Jupyter Notebook qui contiennent à la fois du code informatique et des éléments de texte enrichi (paragraphes, équations, figures, liens, etc.) qui aident à présenter et à partager des recherches reproductibles.

À la fin de ce guide, vous serez capable d’exécuter du code Python 3 à l’aide de Jupyter Notebook fonctionnant sur une machine locale ou un serveur distant.

Prérequis

Pour suivre ce tutoriel, vous aurez besoin d’un environnement de programmation Python 3 et du module Python venv, soit

Toutes les commandes dans ce tutoriel doivent être exécutées en tant qu’utilisateur non root. Si un accès root est requis pour la commande, il sera précédé de sudo. Configuration initiale du serveur avec Ubuntu 22.04 explique comment ajouter des utilisateurs et leur donner un accès sudo.

Étape 1 — Installation de Jupyter Notebook

Dans cette section, nous allons installer Jupyter Notebook avec pip.

Activez l’environnement de programmation Python 3 dans lequel vous souhaitez installer Jupyter Notebook. Dans notre exemple, nous l’installerons dans mon_env, donc nous nous assurerons d’être dans le répertoire de cet environnement et de l’activer comme ceci:

  1. cd ~/environments
  2. . my_env/bin/activate

Ensuite, nous pouvons nous assurer que pip est mis à jour vers la version la plus récente:

  1. pip install --upgrade pip

Maintenant, nous pouvons installer Jupyter Notebook avec la commande suivante:

  1. pip install jupyter

À ce stade, Jupyter Notebook est installé dans l’environnement de programmation actuel.

L’étape suivante facultative est pour ceux qui connectent une installation serveur de l’interface web en utilisant le tunnel SSH.

Étape 2 (Optionnelle) — Utilisation du tunnel SSH pour se connecter à une installation serveur

Si vous avez installé le carnet Jupyter sur un serveur distant, vous devrez vous connecter à l’interface web du carnet Jupyter en utilisant le tunnel SSH. Le carnet Jupyter exécute son interface de navigateur sur un port spécifique de votre serveur distant (tel que :8888, :8889, etc.), qui n’est pas exposé au web plus large par défaut. Le tunnel SSH vous permet de vous connecter de manière sécurisée aux ports du serveur distant, que vous pouvez ensuite accéder à l’aide d’un navigateur web local.

Notez que ces instructions sont conçues pour être exécutées à partir d’une fenêtre de terminal locale, c’est-à-dire pas celle avec laquelle vous vous êtes connecté au serveur.

Tunnel SSH

Si vous utilisez Windows, vous devrez installer une version d’OpenSSH afin de pouvoir effectuer une connexion ssh à partir d’un terminal. Si vous préférez travailler dans PowerShell, vous pouvez suivre la documentation de Microsoft pour ajouter OpenSSH à PowerShell. Si vous préférez disposer d’un environnement Linux complet, vous pouvez configurer WSL, le sous-système Windows pour Linux, qui inclura ssh par défaut. Enfin, comme troisième option légère, vous pouvez installer Git for Windows, qui fournit un environnement de terminal bash natif pour Windows incluant la commande ssh. Chacune de ces options est bien prise en charge et le choix dépendra de vos préférences.

Si vous utilisez un Mac ou Linux, vous aurez déjà la commande ssh disponible dans votre terminal.

Les étapes pour créer un tunnel SSH sont similaires au guide Comment se connecter aux Droplets avec SSH, sauf qu’il y a des paramètres supplémentaires ajoutés dans la commande ssh. Cette sous-section détaillera les paramètres supplémentaires nécessaires dans la commande ssh pour créer un tunnel avec succès.

Le tunnel SSH peut être créé en exécutant la commande SSH suivante dans une nouvelle fenêtre de terminal locale :

  1. ssh -L 8888:localhost:8888 your_server_username@your_server_ip

La commande ssh ouvre une connexion SSH, mais -L spécifie que le port donné sur l’hôte local (client) doit être redirigé vers l’hôte et le port donnés sur le côté distant (serveur). Cela signifie que tout ce qui s’exécute sur le deuxième numéro de port (par exemple, 8888) sur le serveur apparaîtra sur le premier numéro de port (par exemple, 8888) sur votre ordinateur local.

Si vous recevez un message indiquant que le port 8888 est indisponible, vous pouvez le changer pour un autre numéro de port arbitraire inférieur à 65535. Le port 8888 n’a pas de signification significative mais est souvent utilisé pour des démonstrations comme celle-ci.

nom_utilisateur_serveur est votre nom d’utilisateur (par exemple, sammy) sur le serveur que vous avez créé et votre_adresse_ip_serveur est l’adresse IP de votre serveur.

Par exemple, pour le nom d’utilisateur sammy et l’adresse du serveur votre_adresse_ip_serveur, la commande serait :

  1. ssh -L 8888:localhost:8888 sammy@your_server_ip

Si aucune erreur n’est affichée après l’exécution de la commande ssh -L, vous pouvez passer à votre environnement de programmation et exécuter Jupyter Notebook :

  1. jupyter notebook

Vous recevrez une sortie avec une URL. Depuis un navigateur web sur votre machine locale, ouvrez l’interface web de Jupyter Notebook avec l’URL qui commence par http://localhost:8888. Assurez-vous que le numéro de jeton est inclus, ou entrez la chaîne de numéro de jeton lorsqu’on vous y invite à http://localhost:8888.

Étape 3 — Exécution du cahier Jupyter

Avec Jupyter Notebook installé, vous pouvez l’exécuter dans votre terminal. Pour ce faire, exécutez la commande suivante :

  1. jupyter notebook

A log of the activities of the Jupyter Notebook will be printed to the terminal. When you run Jupyter Notebook, it runs on a specific port number. The first notebook you are running will usually run on port 8888. To check the specific port number Jupyter Notebook is running on, refer to the output of the command used to start it:

Output
[I NotebookApp] Serving notebooks from local directory: /home/sammy [I NotebookApp] 0 active kernels [I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/ [I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). ...

Si vous exécutez Jupyter Notebook sur un ordinateur local (pas sur un serveur), votre navigateur par défaut devrait avoir ouvert l’application web Jupyter Notebook. Sinon, ou si vous fermez la fenêtre, vous pouvez accéder à l’URL fournie dans la sortie, ou accéder à localhost:8888 pour vous connecter.

Chaque fois que vous souhaitez arrêter le processus Jupyter Notebook, appuyez sur Ctrl+C, tapez Y lorsqu’on vous le demande, puis appuyez sur Entrée pour confirmer.

Vous recevrez la sortie suivante :

Output
[C 12:32:23.792 NotebookApp] Shutdown confirmed [I 12:32:23.794 NotebookApp] Shutting down kernels

Jupyter Notebook ne fonctionne désormais plus.

Étape 4 — Utilisation du cahier Jupyter

Cette section explique les bases de l’utilisation de Jupyter Notebook. Si vous n’avez pas actuellement Jupyter Notebook en cours d’exécution, démarrez-le avec la commande jupyter notebook.

Vous devriez maintenant être connecté à celui-ci en utilisant un navigateur web. Jupyter Notebook est très puissant et possède de nombreuses fonctionnalités. Cette section présentera quelques-unes des fonctionnalités de base pour vous aider à démarrer avec le notebook. Jupyter Notebook affichera tous les fichiers et dossiers du répertoire à partir duquel il est exécuté, donc lorsque vous travaillez sur un projet, assurez-vous de le démarrer à partir du répertoire du projet.

Pour créer un nouveau fichier notebook, sélectionnez Nouveau > Python 3 dans le menu déroulant en haut à droite :

Cela ouvrira un notebook. Nous pouvons maintenant exécuter du code Python dans la cellule ou changer la cellule en markdown. Par exemple, changez la première cellule pour accepter le Markdown en cliquant sur Cellule > Type de cellule > Markdown dans la barre de navigation supérieure. Nous pouvons maintenant rédiger des notes en utilisant Markdown et même inclure des équations écrites en LaTeX en les plaçant entre les symboles $$. Par exemple, saisissez ce qui suit dans la cellule après l’avoir changée en markdown :

# Equation Simple

Let us now implement the following equation:
$$ y = x^2$$

where $x = 2$

Pour convertir le markdown en texte enrichi, appuyez sur Ctrl+Enter, et voici les résultats :

Vous pouvez utiliser les cellules de markdown pour prendre des notes et documenter votre code. Implémentons maintenant cette équation simple et affichons le résultat. Cliquez sur la cellule supérieure, puis appuyez sur Alt+Enter pour ajouter une cellule en dessous. Saisissez le code suivant dans la nouvelle cellule.

x = 2
y = x**2
print(y)

Pour exécuter le code, appuyez sur Ctrl+Enter. Vous recevrez les résultats suivants :

Vous avez maintenant la possibilité d’importer des modules et d’utiliser le notebook comme vous le feriez avec n’importe quel autre environnement de développement Python !

Pour arrêter le serveur Jupyter côté serveur, retournez à la fenêtre de terminal à partir de laquelle vous l’avez démarré et appuyez sur Ctrl+C. Il s’agit d’un raccourci standard pour mettre fin aux processus du terminal et Jupyter vous demandera de sauvegarder avant de quitter.

Conclusion

Félicitations ! Vous devriez maintenant être en mesure d’écrire du code Python reproductible et des notes en Markdown à l’aide de Jupyter Notebook. Pour obtenir une visite rapide de Jupyter Notebook depuis l’interface, sélectionnez Aide > Tour de l’interface utilisateur dans le menu de navigation supérieur pour en savoir plus.

À partir de là, vous pourriez être intéressé à lire notre série sur la visualisation et la prévision de séries chronologiques.

Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-jupyter-notebook-for-python-3