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
-
auf Ihrenlocal machine oder
-
auf einUbuntu server.
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 Befehlssh
erforderlich 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 -L
kein 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:
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:
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:
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:
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:
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.