Comment configurer Jupyter Notebook pour Python 3

introduction

Jupyter Notebook propose un shell 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 s'exécuter soit localement, soit à partir d'un serveur Ubuntu 18.04, et vous apprendra également à vous connecter et à utiliser le portable. Les cahiers Jupyter (ou simplement les cahiers) 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.) facilitant 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 ordinateur local ou un serveur distant.

Conditions préalables

Pour suivre ce didacticiel, vous aurez besoin d’un environnement de programmation Python 3,

Toutes les commandes de ce didacticiel 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é desudo. Initial Server Setup with Ubuntu 18.04 explique comment ajouter des utilisateurs et leur donner un accès sudo.

[[step-1 -—- Installing-jupyter-notebook]] == Étape 1 - Installation de Jupyter Notebook

Dans cette section, nous installerons Jupyter Notebook avecpip.

Activez l'environnement de programmation Python 3 dans lequel vous souhaitez installer Jupyter Notebook. Dans notre exemple, nous allons l'installer dansmy_env, nous allons donc nous assurer que nous sommes dans le répertoire de cet environnement et l'activer comme suit:

cd ~/environments
. my_env/bin/activate

Ensuite, nous pouvons nous assurer quepip est mis à niveau vers la version la plus récente:

pip install --upgrade pip

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

pip install jupyter

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

L'étape facultative suivante concerne les utilisateurs connectés à une installation serveur de l'interface Web à l'aide du tunneling SSH.

[[step-2-optional -—- using-ssh-tunneling-to-connect-to-a-server-installation]] == Étape 2 (facultative) - Utilisation du tunnel SSH pour se connecter à une installation de serveur

Si vous avez installé Jupyter Notebook sur un serveur, dans cette section, vous apprendrez à vous connecter à l'interface Web de Jupyter Notebook à l'aide du tunneling SSH. Étant donné que Jupyter Notebook fonctionnera sur un port spécifique du serveur (tel que:8888,:8889, etc.), le tunnel SSH vous permet de vous connecter en toute sécurité au port du serveur.

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, les étapes de création d'un tunnel SSH sont similaires à celles du guideHow To Use SSH Keys with DigitalOcean Droplets using Linux or Mac sauf que des paramètres supplémentaires sont ajoutés dans la commandessh. Cette sous-section décrit les paramètres supplémentaires nécessaires dans la commandessh pour réussir le tunnel.

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

ssh -L 8888:localhost:8888 your_server_username@your_server_ip

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

Changez éventuellement le port8888 en un de votre choix pour éviter d'utiliser un port déjà utilisé par un autre processus.

server_username est votre nom d'utilisateur (par exemple sammy) sur le serveur que vous avez créé etyour_server_ip est l'adresse IP de votre serveur.

Par exemple, pour le nom d'utilisateursammy et l'adresse serveur203.0.113.0, la commande serait:

ssh -L 8888:localhost:8888 [email protected]

Si aucune erreur n'apparaît après l'exécution de la commandessh -L, vous pouvez vous déplacer dans votre environnement de programmation et exécuter Jupyter Notebook:

jupyter notebook

Vous recevrez une sortie avec une URL. À partir d'un navigateur Web sur votre ordinateur local, ouvrez l'interface Web de Jupyter Notebook avec l'URL commençant parhttp://localhost:8888. Assurez-vous que le numéro de jeton est inclus ou entrez la chaîne de 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 à l'aide de Putty comme indiqué dansHow To Use SSH Keys with PuTTY on DigitalOcean Droplets (Windows users).

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

Set Hostname for SSH Tunnel

Ensuite, cliquez surSSH en bas du volet gauche pour développer le menu, puis cliquez surTunnels. Entrez le numéro de port local à utiliser pour accéder à Jupyter sur votre ordinateur local. Choisissez8000 ou supérieur pour éviter les ports utilisés par d'autres services et définissez la destination surlocalhost:8888:8888 est le numéro du port sur lequel Jupyter Notebook s'exécute.

Cliquez maintenant sur le boutonAdd, et les ports devraient apparaître dans la listeForwarded ports:

Forwarded ports list

Enfin, cliquez sur le boutonOpen pour vous connecter au serveur via SSH et tunneliser les ports souhaités. Accédez àhttp://localhost:8000 (ou au 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 de numéro de jeton lorsque vous y êtes invité àhttp://localhost:8000.

[[step-3 -—- running-jupyter-notebook]] == Étape 3 - Exécution de Jupyter Notebook

Avec Jupyter Notebook installé, vous pouvez l’exécuter dans votre terminal. Pour ce faire, 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 notebook que vous exécutez fonctionnera généralement sur le port8888. 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 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 (et non 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 surCTRL+C, tapezY lorsque vous y êtes invité, puis appuyez surENTER pour confirmer.

Vous recevrez le résultat suivant:

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

Jupyter Notebook n'est plus en cours d'exécution.

[[step-4 -—- using-jupyter-notebook]] == Étape 4 - Utilisation de Jupyter Notebook

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

Vous devriez maintenant y être connecté à l'aide d'un navigateur Web. Jupyter Notebook est très puissant et possède de nombreuses fonctionnalités. Cette section présente 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électionnezNew>Python 3 dans le menu déroulant en haut à droite:

Create a new Python 3 notebook

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 surCell>Cell Type>Markdown dans la barre de navigation supérieure. Nous pouvons maintenant écrire des notes en utilisant Markdown et même inclure des équations écrites enLaTeX en les plaçant entre les symboles$$. Par exemple, tapez ce qui suit dans la cellule après l'avoir modifiée en markdown:

# Simple Equation

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

where $x = 2$

Pour transformer la démarque en texte enrichi, appuyez surCTRL+ENTER, et les résultats suivants devraient être obtenus:

results of markdown

Vous pouvez utiliser les cellules de démarques pour prendre des notes et documenter votre code. Implémentons cette équation simple et imprimons le résultat. Cliquez sur la cellule du haut, puis appuyez surALT+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 surCTRL+ENTER. Vous recevrez les résultats suivants:

simple equation results

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

Conclusion

Toutes nos félicitations! Vous devriez maintenant pouvoir écrire du code Python reproductible et des notes dans Markdown à l'aide de Jupyter Notebook. Pour obtenir une présentation rapide de Jupyter Notebook à partir de l'interface, sélectionnezHelp>User Interface Tour dans le menu de navigation supérieur pour en savoir plus.

De là, vous serez peut-être intéressé de lire notre série surTime Series Visualization and Forecasting.