Einrichten von Jupyter Notebook für Python 3

Einführung

Jupyter Notebook bietet eine Befehlsshell für interaktives Computing als Webanwendung. Das Tool kann in mehreren Sprachen verwendet werden, darunter Python, Julia, R, Haskell und Ruby. Es wird häufig zum Arbeiten mit Daten, zur statistischen Modellierung und zum maschinellen Lernen verwendet.

In diesem Tutorial werden Sie durch die Einrichtung von Jupyter Notebook für die lokale Ausführung oder die Ausführung auf einem Ubuntu 18.04-Server geführt. Außerdem erfahren Sie, wie Sie eine Verbindung zum Notebook herstellen und es verwenden. Jupyter-Notizbücher (oder einfach Notizbücher) sind Dokumente, die von der Jupyter-Notizbuch-App erstellt wurden und sowohl Computercode als auch Rich-Text-Elemente (Absätze, Gleichungen, Abbildungen, Links usw.) enthalten, die die Darstellung und Weitergabe reproduzierbarer Forschungsergebnisse unterstützen.

Am Ende dieses Handbuchs können Sie Python 3-Code mit Jupyter Notebook ausführen, das auf einem lokalen Computer oder einem Remote-Server ausgeführt wird.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie entweder eine Python 3-Programmierumgebung

Alle Befehle in diesem Lernprogramm sollten als Benutzer ohne Rootberechtigung ausgeführt werden. Wenn für den Befehl Root-Zugriff erforderlich ist, wirdsudo vorangestellt. Initial Server Setup with Ubuntu 18.04 erklärt, wie Benutzer hinzugefügt und ihnen Sudo-Zugriff gewährt werden.

[[Schritt-1 -—- Installieren des Jupyter-Notebooks]] == Schritt 1 - Installieren des Jupyter-Notebooks

In diesem Abschnitt installieren wir Jupyter Notebook mitpip.

Aktivieren Sie die Python 3-Programmierumgebung, in der Sie Jupyter Notebook installieren möchten. In unserem Beispiel installieren wir es inmy_env, stellen also sicher, dass wir uns im Verzeichnis dieser Umgebung befinden, und aktivieren es wie folgt:

cd ~/environments
. my_env/bin/activate

Als nächstes können wir sicherstellen, dasspip auf die neueste Version aktualisiert wird:

pip install --upgrade pip

Jetzt können wir Jupyter Notebook mit dem folgenden Befehl installieren:

pip install jupyter

Zu diesem Zeitpunkt ist Jupyter Notebook in der aktuellen Programmierumgebung installiert.

Der nächste optionale Schritt ist für diejenigen, die eine Serverinstallation der Webschnittstelle mithilfe von SSH-Tunneling verbinden.

[[Schritt-2-optional -—- Verwenden von SSH-Tunneling, um eine Verbindung zu einem Server herzustellen]] == Schritt 2 (Optional) - Verwenden von SSH-Tunneling, um eine Verbindung zu einer Serverinstallation herzustellen

Wenn Sie Jupyter Notebook auf einem Server installiert haben, erfahren Sie in diesem Abschnitt, wie Sie mithilfe von SSH-Tunneling eine Verbindung zur Jupyter Notebook-Weboberfläche herstellen. Da Jupyter Notebook an einem bestimmten Port des Servers ausgeführt wird (z. B.:8888,:8889 usw.), können Sie durch SSH-Tunneling eine sichere Verbindung zum Port des Servers herstellen.

In den nächsten beiden Unterabschnitten wird beschrieben, wie Sie einen SSH-Tunnel aus 1) einem Mac oder Linux und 2) Windows erstellen. Bitte beziehen Sie sich auf den Unterabschnitt für Ihren lokalen Computer.

SSH-Tunneling mit einem Mac oder Linux

Wenn Sie einen Mac oder Linux verwenden, ähneln die Schritte zum Erstellen eines SSH-Tunnels dem HandbuchHow To Use SSH Keys with DigitalOcean Droplets using Linux or Mac, außer dass im Befehlssh zusätzliche Parameter hinzugefügt wurden. In diesem Unterabschnitt werden die zusätzlichen Parameter beschrieben, die im Befehlssherforderlich sind, um erfolgreich zu tunneln.

SSH-Tunneling kann durch Ausführen des folgenden SSH-Befehls in einem neuen lokalen Terminalfenster durchgeführt werden:

ssh -L 8888:localhost:8888 your_server_username@your_server_ip

Der Befehlssh öffnet eine SSH-Verbindung,-L gibt jedoch an, dass der angegebene Port auf dem lokalen (Client-) Host an den angegebenen Host und den angegebenen Port auf der Remote-Seite (Server) weitergeleitet werden soll. Dies bedeutet, dass alles, was auf der zweiten Portnummer läuft (z. 8888) auf dem Server wird auf der ersten Portnummer angezeigt (z. 8888) auf Ihrem lokalen Computer.

Ändern Sie optional Port8888 in einen Ihrer Wahl, um zu vermeiden, dass ein Port verwendet wird, der bereits von einem anderen Prozess verwendet wird.

server_username ist Ihr Benutzername (z. sammy) auf dem von Ihnen erstellten Server undyour_server_ip ist die IP-Adresse Ihres Servers.

Für den Benutzernamensammy und die Serveradresse203.0.113.0 lautet der Befehl beispielsweise:

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

Wenn nach dem Ausführen des Befehlsssh -Lkein Fehler angezeigt wird, können Sie in Ihre Programmierumgebung wechseln und Jupyter Notebook ausführen:

jupyter notebook

Sie erhalten eine Ausgabe mit einer URL. Öffnen Sie in einem Webbrowser auf Ihrem lokalen Computer die Jupyter Notebook-Weboberfläche mit der URL, die mithttp://localhost:8888 beginnt. Stellen Sie sicher, dass die Token-Nummer enthalten ist, oder geben Sie die Token-Nummern-Zeichenfolge ein, wenn Sie beihttp://localhost:8888 dazu aufgefordert werden.

SSH-Tunneling mit Windows und Putty

Wenn Sie Windows verwenden, können Sie mit Putty einen SSH-Tunnel erstellen, wie inHow To Use SSH Keys with PuTTY on DigitalOcean Droplets (Windows users) beschrieben.

Geben Sie zuerst die Server-URL oder die IP-Adresse als Hostnamen ein, wie gezeigt:

Set Hostname for SSH Tunnel

Klicken Sie anschließend unten im linken Bereich aufSSH, um das Menü zu erweitern, und klicken Sie dann aufTunnels. Geben Sie die lokale Portnummer ein, die für den Zugriff auf Jupyter auf Ihrem lokalen Computer verwendet werden soll. Wählen Sie8000 oder höher, um von anderen Diensten verwendete Ports zu vermeiden, und legen Sie das Ziel alslocalhost:8888 fest, wobei:8888 die Nummer des Ports ist, auf dem Jupyter Notebook ausgeführt wird.

Klicken Sie nun auf die SchaltflächeAdd, und die Ports sollten in der ListeForwarded ports angezeigt werden:

Forwarded ports list

Klicken Sie abschließend auf die SchaltflächeOpen, um über SSH eine Verbindung zum Server herzustellen und die gewünschten Ports zu tunneln. Navigieren Sie in einem Webbrowser zuhttp://localhost:8000 (oder einem von Ihnen gewählten Port), um eine Verbindung zu Jupyter Notebook herzustellen, das auf dem Server ausgeführt wird. Stellen Sie sicher, dass die Token-Nummer enthalten ist, oder geben Sie die Token-Nummern-Zeichenfolge ein, wenn Sie beihttp://localhost:8000 dazu aufgefordert werden.

[[Schritt-3 -—- Ausführen eines Jupyter-Notizbuchs]] == Schritt 3 - Ausführen eines Jupyter-Notizbuchs

Wenn Jupyter Notebook installiert ist, können Sie es in Ihrem Terminal ausführen. Führen Sie dazu den folgenden Befehl aus:

jupyter notebook

Ein Protokoll der Aktivitäten des Jupyter Notebooks wird auf dem Terminal ausgedruckt. Wenn Sie Jupyter Notebook ausführen, wird es auf einer bestimmten Portnummer ausgeführt. Das erste Notebook, das Sie ausführen, wird normalerweise auf Port8888 ausgeführt. Informationen zum Überprüfen der Portnummer, auf der Jupyter Notebook ausgeführt wird, finden Sie in der Ausgabe des Befehls, mit dem es gestartet wurde:

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).
...

Wenn Sie Jupyter Notebook auf einem lokalen Computer (nicht auf einem Server) ausführen, sollte Ihr Standardbrowser die Jupyter Notebook-Web-App geöffnet haben. Wenn nicht, oder wenn Sie das Fenster schließen, können Sie zu der in der Ausgabe angegebenen URL navigieren oder zulocalhost:8888 navigieren, um eine Verbindung herzustellen.

Wenn Sie den Jupyter Notebook-Prozess stoppen möchten, drücken SieCTRL+C, geben SieY ein, wenn Sie dazu aufgefordert werden, und drücken Sie zur BestätigungENTER.

Sie erhalten folgende Ausgabe:

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

Jupyter Notebook läuft jetzt nicht mehr.

[[Schritt-4 -—- mit-Jupyter-Notizbuch]] == Schritt 4 - Verwenden von Jupyter-Notizbuch

In diesem Abschnitt werden die Grundlagen der Verwendung von Jupyter Notebook erläutert. Wenn Jupyter Notebook derzeit nicht ausgeführt wird, starten Sie es mit dem Befehljupyter notebook.

Sie sollten jetzt mit einem Webbrowser verbunden sein. Jupyter Notebook ist sehr leistungsstark und verfügt über viele Funktionen. In diesem Abschnitt werden einige grundlegende Funktionen beschrieben, mit denen Sie das Notebook verwenden können. Jupyter Notebook zeigt alle Dateien und Ordner in dem Verzeichnis an, in dem es ausgeführt wird. Wenn Sie also an einem Projekt arbeiten, müssen Sie es aus dem Projektverzeichnis starten.

Um eine neue Notebook-Datei zu erstellen, wählen Sie im Pulldown-Menü oben rechtsNew>Python 3 aus:

Create a new Python 3 notebook

Dies öffnet ein Notizbuch. Wir können jetzt Python-Code in der Zelle ausführen oder die Zelle in Markdown ändern. Ändern Sie beispielsweise die erste Zelle, die Markdown akzeptiert, indem Sie in der oberen Navigationsleiste aufCell>Cell Type>Markdown klicken. Wir können jetzt Notizen mit Markdown schreiben und sogar inLaTeX geschriebene Gleichungen einschließen, indem wir sie zwischen die$$-Symbole setzen. Geben Sie beispielsweise Folgendes in die Zelle ein, nachdem Sie sie in Markdown geändert haben:

# Simple Equation

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

where $x = 2$

Um den Markdown in Rich Text umzuwandeln, drücken SieCTRL+ENTER. Das Ergebnis sollte folgender sein:

results of markdown

Mit den Markdown-Zellen können Sie Notizen machen und Ihren Code dokumentieren. Lassen Sie uns diese einfache Gleichung implementieren und das Ergebnis ausdrucken. Klicken Sie auf die obere Zelle und drücken SieALT+ENTER, um eine Zelle darunter hinzuzufügen. Geben Sie den folgenden Code in die neue Zelle ein.

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

Drücken SieCTRL+ENTER, um den Code auszuführen. Sie erhalten die folgenden Ergebnisse:

simple equation results

Sie haben jetzt die Möglichkeit,import modules zu verwenden und das Notebook wie in jeder anderen Python-Entwicklungsumgebung zu verwenden!

Fazit

Herzliche Glückwünsche! Sie sollten nun in der Lage sein, mit Jupyter Notebook reproduzierbaren Python-Code und Notizen in Markdown zu schreiben. Um einen kurzen Überblick über Jupyter Notebook über die Benutzeroberfläche zu erhalten, wählen Sie im oberen NavigationsmenüHelp>User Interface Tour, um weitere Informationen zu erhalten.

Von hier aus könnten Sie interessiert sein, unsere Serie überTime Series Visualization and Forecasting zu lesen.