So richten Sie Jupyter Notebook mit Python 3 auf Ubuntu 18.04 ein
Verwendest du nicht Ubuntu 18.04?Wähle eine andere Version oder Distribution aus.
Einführung
Jupyter Notebook ist eine Open-Source-Webanwendung, mit der Sie interaktiven Code, Visualisierungen und mehr erstellen und teilen können. Dieses Tool kann mit mehreren Programmiersprachen verwendet werden, einschließlich Python, Julia, R, Haskell und Ruby. Es wird häufig für die Datenbearbeitung, statistische Modellierung und maschinelles Lernen verwendet.
Dieses Tutorial wird Sie durch die Einrichtung von Jupyter Notebook führen, um es von einem Ubuntu 18.04-Server aus auszuführen, sowie Ihnen beibringen, wie Sie sich mit dem Notebook verbinden und es verwenden. Jupyter Notebooks (oder einfach Notebooks) sind Dokumente, die von der Jupyter Notebook-App erstellt werden und sowohl Computercode als auch reichhaltige Textelemente (Absätze, Gleichungen, Abbildungen, Links usw.) enthalten, die bei der Präsentation und dem Teilen reproduzierbarer Forschung helfen. Im letzten Schritt dieses Leitfadens werden Sie Python 3-Code mit einem auf einem entfernten Server laufenden Jupyter Notebook ausführen.
Voraussetzungen
Um diesen Leitfaden abzuschließen, benötigen Sie eine Ubuntu 18.04-Serverinstanz mit einer Firewall und einem Nicht-Root-Benutzer mit konfigurierten Sudo-Rechten. Sie können dies einrichten, indem Sie unser Tutorial zur ursprünglichen Servereinrichtung durchgehen.
Schritt 1 — Python einrichten
Um den Prozess zu beginnen, installieren Sie die Abhängigkeiten für Ihre Python-Programmierumgebung aus den Ubuntu-Repositories. Ubuntu 18.04 wird mit Python 3.6.9 vorinstalliert ausgeliefert. Sie werden den Python-Paketmanager pip verwenden, um später zusätzliche Komponenten zu installieren.
Zuerst aktualisieren Sie den lokalen apt Paketindex:
- sudo apt update
Installieren Sie als Nächstes pip und die Python-Headerdateien, die von einigen Abhängigkeiten von Jupyter verwendet werden:
- sudo apt install python3-pip python3-dev
Sie können jetzt mit der Einrichtung einer Python-virtuellen Umgebung fortfahren.
Schritt 2 — Erstellen einer Python-virtuellen Umgebung für Jupyter
Mit einigen installierten Abhängigkeiten können Sie eine Python-virtuelle Umgebung erstellen, um Ihre Projekte zu verwalten. Jupyter wird in dieser virtuellen Umgebung installiert.
Sie benötigen Zugriff auf den virtualenv-Befehl, der mit pip installiert werden kann.
Zuerst pip aktualisieren, indem du Folgendes eingibst:
- sudo -H pip3 install --upgrade pip
Installieren Sie dann virtualenv mit diesem Befehl:
- sudo -H pip3 install virtualenv
Der -H Flag stellt sicher, dass die Sicherheitsrichtlinie die Umgebungsvariable home auf das Home-Verzeichnis des Zielbenutzers setzt.
Mit virtualenv, das installiert ist, kannst du beginnen, deine Umgebung zu formen. Erstelle und wechsle in ein Verzeichnis, in dem du deine Projektdaten aufbewahren kannst. Das folgende Beispielverzeichnis heißt my_project_dir. Verwende einen Namen, der für dich und an dem, woran du arbeitest, sinnvoll ist.
Erstellen Sie Ihr Verzeichnis, indem Sie den folgenden Befehl eingeben:
- mkdir ~/my_project_dir
Wechseln Sie mit diesem Befehl in das my_project_dir:
- cd ~/my_project_dir
Erstellen Sie im Projektverzeichnis eine Python-virtuelle Umgebung. Dieses Tutorial bezieht sich auf die Umgebung als my_project_env, aber Sie können sie auch anders benennen, solange es für Ihr Projekt relevant ist.
- virtualenv my_project_env
Dies erstellt ein Verzeichnis namens my_project_env innerhalb Ihres my_project_dir Verzeichnisses. Darin wird eine lokale Version von Python und eine lokale Version von pip installiert. Sie können dies verwenden, um eine isolierte Python-Umgebung für Jupyter zu installieren und zu konfigurieren.
Bevor Sie Jupyter installieren, aktivieren Sie die virtuelle Umgebung. Sie können dies tun, indem Sie eingeben:
- source my_project_env/bin/activate
Ihr Hinweis sollte sich ändern, um anzuzeigen, dass Sie sich jetzt in einer Python-virtuellen Umgebung befinden, die dieser ähnelt:
-
Sie sind jetzt bereit, Jupyter in diese virtuelle Umgebung zu installieren.
Schritt 3 — Jupyter installieren
Mit Ihrer virtuellen Umgebung aktiv, installieren Sie Jupyter mit der lokalen Instanz von pip.
Hinweis: Wenn die virtuelle Umgebung aktiviert ist (wenn Ihr Prompt (my_project_env) davor hat), verwenden Sie pip anstelle von pip3, auch wenn Sie Python 3 verwenden. Die Kopie des Werkzeugs in der virtuellen Umgebung heißt immer pip, unabhängig von der Python-Version.
- pip install jupyter
An diesem Punkt haben Sie erfolgreich alle benötigten Software installiert, um Jupyter auszuführen. Sie können jetzt den Notebook-Server starten.
Schritt 4 — Jupyter Notebook ausführen
Sie haben jetzt alles, was Sie benötigen, um Jupyter Notebook auszuführen. Um es zu starten, führen Sie den folgenden Befehl aus:
- jupyter notebook
Ein Protokoll der Aktivitäten des Jupyter Notebooks wird im Terminal angezeigt. Wenn Sie Jupyter Notebook ausführen, läuft es auf einer bestimmten Portnummer. Das erste Notebook, das Sie ausführen, verwendet normalerweise den Port 8888. Um die spezifische Portnummer zu überprüfen, auf der Jupyter Notebook läuft, verweisen Sie auf die Ausgabe des Befehls, mit dem es gestartet wurde:
[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /home/sammy/.local/share/jupyter/runtime/notebook_cookie_secret
[I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/my_project_dir
[I 21:23:21.361 NotebookApp] The Jupyter Notebook 6.4.10 is running at:
[I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
[I 21:23:21.361 NotebookApp] or http://127.0.0.1:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
[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]
To access the notebook, open this file in a browser:
file:///home/sammy/.local/share/jupyter/runtime/nbserver-7924-open.html
Or copy and paste one of these URLs:
http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
or http://127.0.0.1:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
Wenn Sie Jupyter Notebook auf einem lokalen Computer (nicht auf einem Server) ausführen, können Sie die angezeigte URL aufrufen, um sich mit Jupyter Notebook zu verbinden. Wenn Sie Jupyter Notebook auf einem Server ausführen, müssen Sie sich über SSH-Tunneling mit dem Server verbinden, wie im nächsten Abschnitt beschrieben.
An diesem Punkt können Sie die SSH-Verbindung geöffnet lassen und das Jupyter Notebook weiterlaufen lassen, oder Sie können die App verlassen und sie erneut ausführen, sobald Sie das SSH-Tunneling eingerichtet haben.
Wenn Sie den Jupyter Notebook-Prozess stoppen möchten, drücken Sie CTRL + C, geben Sie Y ein und drücken Sie dann ENTER, um zu bestätigen. Die folgende Ausgabe wird angezeigt:
[C 19:23:34.939 NotebookApp] Shutdown confirmed
[I 19:23:34.940 NotebookApp] Shutting down 0 kernels
[I 19:23:34.941 NotebookApp] Shutting down 0 terminals
Sie können jetzt ein SSH-Tunnel einrichten, um auf das Notebook zuzugreifen.
Schritt 5 — Verbindung zum Server über SSH-Tunneling herstellen
Jupyter Notebook läuft auf einem bestimmten Port auf dem Server (zum Beispiel :8888, :8889 usw.). SSH-Tunneling ermöglicht es Ihnen, sicher mit dem Port des Servers zu verbinden.
Die nächsten beiden Unterabschnitte beschreiben, wie man ein SSH-Tunnel von einem Mac-, Linux- und Windows-Betriebssystem erstellt. 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, sind die Schritte zum Erstellen eines SSH-Tunnels ähnlich wie bei der Verwendung von SSH, um sich bei Ihrem Remote-Server anzumelden, mit dem Unterschied, dass es zusätzliche Parameter im ssh-Befehl gibt.
SSH-Tunneling kann durchgeführt werden, indem der folgende SSH-Befehl in einem neuen lokalen Terminalfenster ausgeführt wird:
- ssh -L 8888:localhost:8888 your_server_username@your_server_ip
Der ssh-Befehl öffnet eine SSH-Verbindung, aber -L gibt an, dass der angegebene Port auf dem lokalen (Client-)Host an den angegebenen Host und Port auf der Remote-Seite (Server) weitergeleitet werden soll. Das bedeutet, dass alles, was auf der zweiten Portnummer (z.B. 8888) auf dem Server läuft, auf der ersten Portnummer (z.B. 8888) auf deinem lokalen Computer erscheint.
Ändern Sie optional den Port 8888 in einen von Ihnen gewählten, um zu vermeiden, dass ein bereits von einem anderen Prozess verwendeter Port verwendet wird.
server_username ist Ihr Benutzername (z.B. sammy) auf dem Server, den Sie erstellt haben, und your_server_ip ist die IP-Adresse Ihres Servers.
Zum Beispiel, für den Benutzernamen sammy und die Serveradresse 203.0.113.0 würde der Befehl lauten:
- ssh -L 8888:localhost:8888 sammy@203.0.113.0
Wenn nach dem Ausführen des ssh -L Befehls keine Fehlermeldungen angezeigt werden, 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 mit http://localhost:8888 beginnt. Stellen Sie sicher, dass die Token-Nummer enthalten ist, oder geben Sie die Token-Nummer ein, wenn Sie an http://localhost:8888 dazu aufgefordert werden:
...
[I 21:23:21.361 NotebookApp] The Jupyter Notebook 6.4.10 is running at:
[I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
...
SSH-Tunneling mit Windows und PuTTY
Wenn Sie Windows verwenden, können Sie mit Putty einen SSH-Tunnel erstellen.
Zuerst geben Sie die Server-URL oder IP-Adresse in das Feld Host-Name (oder IP-Adresse) ein, wie gezeigt:
Klicken Sie als Nächstes auf SSH am unteren Rand des linken Bereichs, um das Menü zu erweitern, und klicken Sie dann auf Tunnels. Geben Sie die lokale Portnummer ein, die Sie verwenden möchten, um von Ihrem lokalen Computer auf Jupyter zuzugreifen. Wählen Sie 8000 oder höher, um Ports zu vermeiden, die von anderen Diensten verwendet werden, und setzen Sie das Ziel auf localhost:8888, wobei :8888 die Portnummer ist, auf der Jupyter Notebook läuft.
Klicken Sie auf die Hinzufügen-Schaltfläche, und die Ports sollten in der Liste der Weitergeleiteten Ports erscheinen:
Klicken Sie schließlich auf die Schaltfläche Öffnen, um eine Verbindung zum Server über SSH herzustellen und die gewünschten Ports zu tunneln. Navigieren Sie in einem Webbrowser zu http://localhost:8000 (oder dem von Ihnen gewählten Port), um sich mit dem auf dem Server laufenden Jupyter Notebook zu verbinden. Stellen Sie sicher, dass die Token-Nummer enthalten ist, oder geben Sie die Token-Zahl ein, wenn Sie dazu bei http://localhost:8000 aufgefordert werden.
Ob Sie sich nun innerhalb eines Mac-/Linux-Betriebssystems oder Windows verbinden, sollten Sie jetzt über SSH-Tunneling mit Ihrem Server verbunden sein. Sie sind jetzt bereit, Jupyter Notebook in Ihrem Webbrowser zu verwenden.
Schritt 6 — Verwendung von Jupyter Notebook
Wenn Sie derzeit Jupyter Notebook nicht laufen haben, starten Sie es mit dem Befehl jupyter notebook:
- jupyter notebook
Sie sollten sich jetzt über einen Webbrowser mit ihm verbinden. Jupyter Notebook ist ein sehr leistungsstarkes Tool mit vielen Funktionen. Dieser Abschnitt wird einige der grundlegenden Funktionen skizzieren, um Ihnen den Einstieg in die Verwendung des Notebooks zu erleichtern. Jupyter Notebook zeigt alle Dateien und Ordner im Verzeichnis an, aus dem es ausgeführt wird. Stellen Sie also sicher, dass Sie Ihr Projekt aus dem Projektverzeichnis starten, wenn Sie an einem Projekt arbeiten.
Um eine neue Notebook-Datei zu erstellen, wählen Sie Neu > Python 3 aus dem Dropdown-Menü oben rechts:
Dies öffnet ein Notizbuch. Sie können jetzt Python-Code in der Zelle ausführen oder die Zelle in Markdown ändern. Zum Beispiel können Sie die erste Zelle so ändern, dass sie Markdown akzeptiert, indem Sie auf Zelle > Zelltyp > Markdown in der oberen Navigationsleiste klicken. Sie können jetzt Notizen mit Markdown schreiben und sogar Gleichungen in LaTeX einfügen, indem Sie sie zwischen den $$ Symbolen setzen. Zum Beispiel geben Sie Folgendes in die Zelle ein, nachdem Sie sie in Markdown geändert haben:
First Equation
Let us now implement the following equation:
$$ y = x^2$$
where $x = 2$
Um das Markdown in Rich Text umzuwandeln, drücken Sie CTRL + ENTER, und das Folgende sollten die Ergebnisse sein:
Sie können die Markdown-Zellen verwenden, um Notizen zu machen und Ihren Code zu dokumentieren. Um diese Gleichung zu implementieren und das Ergebnis auszugeben, klicken Sie auf die oberste Zelle und drücken Sie dann ALT + ENTER, um eine Zelle darunter hinzuzufügen. Geben Sie den folgenden Code in die neue Zelle ein.
x = 2
y = x**2
print(y)
Um den Code auszuführen, drücken Sie CTRL + ENTER. Sie erhalten die folgenden Ergebnisse:
Sie haben jetzt die Möglichkeit, Module zu importieren und das Notizbuch wie jede andere Python-Entwicklungsumgebung zu verwenden.
Schlussfolgerung
Sie sollten jetzt in der Lage sein, reproduzierbaren Python-Code und Notizen in Markdown mit Jupyter Notebook zu schreiben. Um eine schnelle Tour durch Jupyter Notebook aus der Benutzeroberfläche heraus zu erhalten, wählen Sie Hilfe > Tour durch die Benutzeroberfläche im oberen Navigationsmenü, um mehr zu erfahren.
Von hier aus können Sie ein Datenanalyse- und Visualisierungsprojekt starten, indem Sie 'Datenanalyse und Visualisierung mit pandas und Jupyter Notebook in Python 3' lesen.
Wenn Sie daran interessiert sind, tiefer einzutauchen, können Sie unsere Reihe über Zeitreihendiagramme und Vorhersagen lesen.




