Comment configurer un bloc-notes Jupyter avec Python 3 sur Debian 10

introduction

Jupyter Notebook propose un interpréteur de commandes pour l’informatique interactive en tant qu’application Web, ce qui vous permet de partager et de communiquer avec du code. 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 à exécuter à partir d’un serveur Debian 10, et vous apprendra également à vous connecter et à utiliser le portable. Les carnets de notes Jupyter (ou simplement les «carnets de notes») 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 facilitent la présentation et le partage de recherches reproductibles.

À la fin de ce guide, vous pourrez exécuter le code Python 3 à l’aide de Jupyter Notebook s’exécutant sur un serveur Debian 10 distant.

Conditions préalables

Afin de compléter ce guide, vous devez disposer d’une nouvelle instance de serveur Debian 10 avec un pare-feu de base et d’un utilisateur non root doté des privilèges sudo. Vous pouvez apprendre à le configurer en parcourant notre guide Initial Initial Server avec Debian 10.

Étape 1 - Installation des en-têtes Pip et Python

Pour commencer le processus, nous téléchargerons et installerons tous les éléments nécessaires dans les référentiels Debian. Nous utiliserons le gestionnaire de paquets Python + pip + pour installer des composants supplémentaires un peu plus tard.

Nous devons d’abord mettre à jour l’index local des paquets + apt + puis télécharger et installer les paquets:

sudo apt update

Ensuite, installez + pip + et les fichiers d’en-tête Python, qui sont utilisés par certaines dépendances de Jupyter:

sudo apt install python3-pip python3-dev

Debian 10 (“Buster”) est préinstallé avec Python 3.7.

Nous pouvons maintenant passer à la configuration d’un environnement virtuel Python dans lequel nous installerons Jupyter.

Étape 2 - Créer un environnement virtuel Python pour Jupyter

Maintenant que Python 3, ses fichiers d’en-tête et + pip + sont prêts, nous pouvons créer un environnement virtuel Python pour une gestion plus facile. Nous allons installer Jupyter dans cet environnement virtuel.

Pour ce faire, nous devons d’abord avoir accès à la commande + virtualenv +. Nous pouvons l’installer avec + pip +.

Mettez à niveau + pip + et installez le paquet en tapant:

sudo -H pip3 install --upgrade pip
sudo -H pip3 install virtualenv

Avec + virtualenv + installé, nous pouvons commencer à créer notre environnement. Créez et déplacez-vous dans un répertoire où nous pouvons conserver nos fichiers de projet:

mkdir ~/
cd ~/

Dans le répertoire du projet, créez un environnement virtuel Python en tapant:

virtualenv

Cela créera un répertoire appelé ` dans votre répertoire `. À l’intérieur, il installera une version locale de Python et une version locale de + pip +. Nous pouvons utiliser ceci pour installer et configurer un environnement Python isolé pour Jupyter.

Avant d’installer Jupyter, nous devons activer l’environnement virtuel. Vous pouvez le faire en tapant:

source /bin/activate

Votre invite devrait changer pour indiquer que vous travaillez maintenant dans un environnement virtuel Python. Cela ressemblera à quelque chose comme ceci: + () @: ~ / $ +.

Vous êtes maintenant prêt à installer Jupyter dans cet environnement virtuel.

Étape 3 - Installez Jupyter

Avec votre environnement virtuel actif, installez Jupyter avec l’instance locale de + pip +:

pip install jupyter

À ce stade, vous avez correctement installé tous les logiciels nécessaires à l’exécution de Jupyter. Nous pouvons maintenant démarrer le serveur Notebook.

Étape 4 - Exécuter le Jupyter Notebook

Vous avez maintenant tout ce dont vous avez besoin pour exécuter Jupyter Notebook! Pour l’exécuter, exécutez la commande suivante:

jupyter notebook

Un journal des activités du Jupyter Notebook sera imprimé sur le terminal. Lorsque vous exécutez Jupyter Notebook, il s’exécute sur un numéro de port spécifique. Le premier portable que vous exécuterez utilisera généralement le port ++. Pour vérifier le numéro de port spécifique sur lequel Jupyter Notebook est en cours d’exécution, reportez-vous au résultat de la commande utilisée pour le démarrer:

Output[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /run/user/1001/jupyter/notebook_cookie_secret
[I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home//
[I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at:
[I 21:23:21.361 NotebookApp] http://localhost:/?token=
[I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser.
[C 21:23:21.361 NotebookApp]

   Copy/paste this URL into your browser when you connect for the first time,
   to login with a token:
       http://localhost:/?token=

Si vous exécutez Jupyter Notebook sur un ordinateur Debian local (pas sur une droplet), vous pouvez simplement naviguer vers l’URL affichée pour vous connecter à Jupyter Notebook. Si vous exécutez Jupyter Notebook sur un droplet, vous devez vous connecter au serveur à l’aide du tunneling SSH, comme indiqué dans la section suivante.

À ce stade, vous pouvez laisser la connexion SSH ouverte et le fonctionnement de Jupyter Notebook ou quitter l’application et la réexécuter une fois que vous avez configuré le tunneling SSH. Soyons simples et arrêtons le processus Jupyter Notebook. Nous l’exécuterons à nouveau une fois que le tunnelage SSH fonctionnera. Pour arrêter le processus de Jupyter Notebook, appuyez sur + CTRL + C +, tapez + Y +, puis appuyez sur + ENTRÉE + pour confirmer. Les éléments suivants seront affichés:

Output[C 21:28:28.512 NotebookApp] Shutdown confirmed
[I 21:28:28.512 NotebookApp] Shutting down 0 kernels

Nous allons maintenant configurer un tunnel SSH pour pouvoir accéder au bloc-notes.

Étape 5 - Connexion au serveur à l’aide du tunneling SSH

Dans cette section, nous allons apprendre à se connecter à l’interface Web de Jupyter Notebook à l’aide du tunneling SSH. Jupyter Notebook fonctionnant sur un port spécifique du serveur (tel que +: 8888 +, +: 8889 + etc.), le tunneling SSH vous permet de vous connecter au port du serveur en toute sécurité.

Les deux sous-sections suivantes décrivent comment créer un tunnel SSH à partir de 1) un Mac ou Linux et 2) Windows. Veuillez vous reporter à la sous-section de votre ordinateur local.

Tunneling SSH avec un Mac ou Linux

Si vous utilisez un Mac ou Linux, la procédure de création d’un tunnel SSH est similaire à l’utilisation de SSH pour vous connecter à votre serveur distant, à la différence près que la commande + ssh + contient des paramètres supplémentaires. Cette sous-section décrira les paramètres supplémentaires nécessaires dans la commande + ssh + pour un tunnel réussi.

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

ssh -L :localhost: @

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

Vous pouvez éventuellement remplacer le port ++ par l’un de vos choix afin d’éviter d’utiliser un port déjà utilisé par un autre processus.

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

Par exemple, pour le nom d’utilisateur «» et l'adresse de serveur «», la commande serait:

ssh -L :localhost: @

Si aucune erreur ne s’affiche après l’exécution de la commande + ssh -L +, vous pouvez accéder à votre environnement de programmation et exécuter Jupyter Notebook:

jupyter notebook

Vous recevrez une sortie avec une URL. À partir d’un navigateur Web de votre ordinateur local, ouvrez l’interface Web de Jupyter Notebook avec l’URL commençant par + http: // localhost: 8888 +. Assurez-vous que le numéro de jeton est inclus ou entrez la chaîne du numéro de jeton lorsque vous y êtes invité à + ​​http: // localhost: 8888 +.

Tunneling SSH avec Windows et Putty

Si vous utilisez Windows, vous pouvez créer un tunnel SSH en utilisant Putty.

Tout d’abord, entrez l’URL du serveur ou l’adresse IP en tant que nom d’hôte, comme indiqué:

image: https: //assets.digitalocean.com/articles/jupyter_notebook/set_hostname_putty.png [Définir le nom d’hôte pour le tunnel SSH]

Ensuite, cliquez sur * SSH * au bas du volet gauche pour développer le menu, puis cliquez sur * Tunnels *. Entrez le numéro de port local à utiliser pour accéder à Jupyter sur votre ordinateur local. Choisissez ` ou supérieur pour éviter les ports utilisés par d'autres services, et définissez la destination comme `+ localhost: +` où ` est le numéro du port sur lequel Jupyter Notebook est exécuté.

Maintenant, cliquez sur le bouton * Ajouter *, et les ports devraient apparaître dans la liste * Ports transférés *:

image: https: //assets.digitalocean.com/articles/jupyter_notebook/forwarded_ports_putty.png [Liste des ports transférés]

Enfin, cliquez sur le bouton * Ouvrir * pour vous connecter au serveur via SSH et tunnelliser les ports souhaités. Naviguez jusqu’à + http: // localhost: + (ou le port que vous avez choisi) dans un navigateur Web pour vous connecter à Jupyter Notebook s’exécutant sur le serveur. Assurez-vous que le numéro de jeton est inclus ou entrez la chaîne du numéro de jeton lorsque vous y êtes invité à + ​​http: // localhost: 8000 +.

Étape 6 - Utilisation de Jupyter Notebook

Cette section présente les bases de l’utilisation de Jupyter Notebook. Si Jupyter Notebook n’est pas en cours d’exécution, démarrez-le avec la commande + jupyter notebook.

Vous devriez maintenant y être connecté à l’aide d’un navigateur Web. Jupyter Notebook est un outil très puissant doté de nombreuses fonctionnalités. Cette section décrira quelques-unes des fonctionnalités de base pour vous permettre de commencer à utiliser le Bloc-notes. Jupyter Notebook affiche tous les fichiers et dossiers du répertoire dans lequel il est exécuté. Par conséquent, 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 en haut à droite:

image: https: //assets.digitalocean.com/articles/eng_python/JupyterNotebookPy3/jupyter-notebook-new.png [Créer un nouveau cahier Python 3]

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

# First Equation

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

where $x = 2$

Pour transformer le démarquage en texte enrichi, appuyez sur les touches + CTRL + ENTER +. Voici les résultats:

image: https: //assets.digitalocean.com/articles/jupyter_notebook/jupyter_markdown.png [résultats de la démarque]

Vous pouvez utiliser les cellules de démarques pour prendre des notes et documenter votre code. Implémentons cette équation et imprimons le résultat. Cliquez sur la cellule du haut, puis appuyez sur + ALT + ENTER + pour ajouter une cellule en dessous. Entrez 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:

image: https: //assets.digitalocean.com/articles/jupyter_notebook/jupyter_python.png [résultats de la première équation]

Vous avez maintenant la possibilité de import modules et d’utiliser le Bloc-notes comme vous le feriez avec tout autre environnement de développement Python. !

Conclusion

À ce stade, vous devriez pouvoir écrire du code Python reproductible et des notes dans Markdown à l’aide de Jupyter Notebook. Pour une présentation rapide de Jupyter Notebook depuis l’interface, sélectionnez * Aide *> * Visite guidée de l’interface utilisateur * dans le menu de navigation supérieur pour en savoir plus.

À partir de là, vous pouvez commencer un projet d’analyse et de visualisation de données en lisant https://www.digitalocean.com/community/tutorials/data-analysis-and-visualization-with-pandas-and-jupyter-notebook-in-python- 3 [Analyse et visualisation de données avec des pandas et Jupyter Notebook en Python 3].