Jupyter Notebooks in VS Code

Jupyter Notebooks in VS Code

Jupyter (ehemals IPython Notebook) ist ein Open-Source-Projekt, mit dem Sie problemlos Markdown-Text und ausführbaren Python-Quellcode auf einer Leinwand namens “Notebook” kombinieren können. Visual Studio Code unterstützt die Arbeit mit Jupyter Notebooks nativ und über Python-Code-Dateien. In diesem Artikel geht es um die nativen Funktionen von Jupyter Notebooks und wie Sie Folgendes durchführen können:

Ihre Umgebung einrichten

Um mit Python in Jupyter Notebooks zu arbeiten, müssen Sie eine Anaconda-Umgebung in VS Code aktivieren oder eine andere Python-Umgebung auswählen, in der Sie das Jupyter-Paket installiert haben. Verwenden Sie den Befehl “Python: Select Interpreter” in der Befehlspalette (⇧⌘P (Windows, Linux: Ctrl+Shift+P)), um eine Umgebung auszuwählen.

Sobald die entsprechende Umgebung aktiviert ist, können Sie ein Jupyter Notebook erstellen und öffnen, sich mit einem Remote-Jupyter-Server verbinden, um Codezellen auszuführen, und ein Jupyter Notebook als Python-Datei exportieren.

Vertrauenswürdige Arbeitsbereiche

Wenn Sie mit Jupyter Notebooks beginnen, möchten Sie sicherstellen, dass Sie in einem vertrauenswürdigen Arbeitsbereich arbeiten. Schädlicher Code kann in Notebooks eingebettet sein, und die Funktion “Vertrauenswürdiger Arbeitsbereich” ermöglicht es Ihnen, anzugeben, welche Ordner und deren Inhalte automatische Codeausführung zulassen oder einschränken sollen.

Wenn Sie versuchen, ein Notebook zu öffnen, wenn VS Code in einem nicht vertrauenswürdigen Arbeitsbereich im eingeschränkten Modus ausgeführt wird, können Sie Zellen nicht ausführen und umfangreiche Ausgaben werden ausgeblendet.

Ein Jupyter Notebook erstellen oder öffnen

Sie können ein Jupyter Notebook erstellen, indem Sie den Befehl “Create: New Jupyter Notebook” in der Befehlspalette ausführen oder eine neue .ipynb-Datei in Ihrem Arbeitsbereich erstellen.

Wählen Sie als nächstes mit dem Kernel-Picker oben rechts einen Kernel aus.

Nach der Auswahl eines Kernels wird der Sprachpicker, der sich unten rechts in jeder Codezelle befindet, automatisch auf die vom Kernel unterstützte Sprache aktualisiert.

Wenn Sie bereits ein Jupyter Notebook haben, können Sie es mit einem Rechtsklick auf die Datei öffnen und in VS Code öffnen oder über den VS Code-Datei-Explorer öffnen.

Ausführen von Codezellen

Sobald Sie ein Notebook haben, können Sie eine Codezelle mit dem “Ausführen”-Symbol links neben der Zelle ausführen, und die Ausgabe wird direkt unter der Codezelle angezeigt.

Sie können Code auch mit Tastenkombinationen in Befehls- und Bearbeitungsmodus ausführen. Verwenden Sie zum Ausführen der aktuellen Zelle Strg+Enter. Um die aktuelle Zelle auszuführen und zur nächsten zu wechseln, verwenden Sie Umschalt+Enter.

Sie können auch mehrere Zellen ausführen, indem Sie “Alle ausführen”, “Alle oben ausführen” oder “Alle unten ausführen” auswählen.

Speichern Sie Ihr Jupyter Notebook

Sie können Ihr Jupyter Notebook mit der Tastenkombination Strg+S oder über “Datei” > “Speichern” speichern.

Exportieren Sie Ihr Jupyter Notebook

Sie können ein Jupyter Notebook als Python-Datei (.py), als PDF oder als HTML-Datei exportieren. Wählen Sie dazu die Option “Exportieren” in der Symbolleiste aus. Sie erhalten dann eine Dropdown-Liste mit Dateiformatoptionen.

Hinweis: Für den PDF-Export müssen Sie TeX installiert haben. Andernfalls erhalten Sie eine Benachrichtigung, dass Sie es installieren müssen, wenn Sie die PDF-Option auswählen. Beachten Sie auch, dass SVG-Grafiken in Ihrem Notebook im PDF nicht angezeigt werden. Wenn Sie SVG-Grafiken in einem PDF haben möchten, stellen Sie sicher, dass Ihre Ausgabe ein Bildformat enthält, das nicht SVG ist, oder exportieren Sie zuerst als HTML und speichern Sie es dann als PDF mit Ihrem Browser.

Arbeiten mit Codezellen im Notebook-Editor

Der Notebook-Editor erleichtert das Erstellen, Bearbeiten und Ausführen von Codezellen in Ihrem Jupyter Notebook.

LESEN  Samsung Frame 2022 vs. 2021: Wie der matte Bildschirm alles verändert

Erstellen Sie eine Codezelle

Standardmäßig enthält ein leeres Notebook eine leere Codezelle, um loszulegen, und ein vorhandenes Notebook platziert eine Zelle unten. Fügen Sie Ihren Code zur leeren Codezelle hinzu, um zu beginnen.

nachricht = "Hallo Welt"
print(nachricht)

Codezellenmodi

Beim Arbeiten mit Codezellen kann sich eine Zelle in drei Zuständen befinden: nicht ausgewählt, Befehlsmodus und Bearbeitungsmodus. Eine vertikale Leiste links von einer Codezelle und dem Editorrahmen zeigt den aktuellen Zustand einer Zelle an. Wenn keine Leiste sichtbar ist, ist die Zelle nicht ausgewählt. Wenn eine Zelle ausgewählt ist, kann sie sich im Befehls- oder Bearbeitungsmodus befinden.

Im Befehlsmodus wird eine durchgehende vertikale Leiste links von der Zelle angezeigt. Die Zelle kann bedient werden und akzeptiert Tastaturbefehle.

Im Bearbeitungsmodus wird eine durchgehende vertikale Leiste von einem Rahmen um den Zelleneditor begleitet. Der Inhalt der Zelle (Code oder Markdown) kann bearbeitet werden.

Sie können mit Ihrer Tastatur oder Maus zwischen den Modi wechseln. Drücken Sie auf Ihrer Tastatur die Eingabetaste, um in den Bearbeitungsmodus zu wechseln, oder die Esc-Taste, um in den Befehlsmodus zu wechseln. Mit der Maus klicken Sie auf die vertikale Leiste links von der Zelle oder außerhalb des Code-/Markdown-Bereichs in der Codezelle.

Weitere Codezellen hinzufügen

Sie können Codezellen über die Hauptsymbolleiste, die Symbolleiste einer Zelle (bei Mouseover sichtbar) und über Tastenkombinationen hinzufügen.

Fügen Sie eine neue Zelle unter der aktuell ausgewählten Zelle hinzu, indem Sie das Plus-Symbol in der Hauptsymbolleiste oder die Symbolleiste bei Mouseover verwenden.

Wenn sich eine Codezelle im Befehlsmodus befindet, verwenden Sie die Taste A, um eine Zelle darüber hinzuzufügen, und die Taste B, um eine Zelle unter der ausgewählten Zelle hinzuzufügen.

Eine Codezelle auswählen

Sie können eine ausgewählte Codezelle mit der Maus oder den Pfeiltasten auf der Tastatur ändern. Wenn sich eine Codezelle im Befehlsmodus befindet, können Sie auch die Tasten J (abwärts) und K (aufwärts) verwenden.

Mehrere Codezellen auswählen

Um mehrere Zellen auszuwählen, beginnen Sie mit einer Zelle im ausgewählten Modus. Eine gefüllte Hintergrundfarbe zeigt ausgewählte Zellen an. Um aufeinanderfolgende Zellen auszuwählen, halten Sie die Umschalttaste gedrückt und klicken Sie auf die letzte Zelle, die Sie auswählen möchten. Um eine Gruppe von Zellen auszuwählen, halten Sie die Strg-Taste gedrückt und klicken Sie auf die Zellen, die Sie Ihrer Auswahl hinzufügen möchten.

Eine einzelne Codezelle ausführen

Wenn Ihr Code hinzugefügt wurde, können Sie eine Zelle mit dem “Ausführen”-Symbol links neben der Zelle ausführen, und die Ausgabe wird unter der Codezelle angezeigt.

Um eine ausgewählte Codezelle auszuführen, können Sie auch Tastenkombinationen in Befehls- und Bearbeitungsmodus verwenden. Strg+Enter führt die aktuell ausgewählte Zelle aus. Umschalt+Enter führt die aktuell ausgewählte Zelle aus und fügt unmittelbar darunter eine neue Zelle ein (der Fokus wechselt zur neuen Zelle). Alt+Enter führt die aktuell ausgewählte Zelle aus und fügt unmittelbar darunter eine neue Zelle ein (der Fokus bleibt in der aktuellen Zelle).

Mehrere Codezellen ausführen

Mehrere Codezellen können auf verschiedene Arten ausgeführt werden. Sie können den Doppelpfeil in der Hauptsymbolleiste des Notebook-Editors verwenden, um alle Zellen innerhalb des Notebooks auszuführen, oder die “Ausführen”-Symbole mit Richtungspfeilen in der Zellensymbolleiste verwenden, um alle Zellen oberhalb oder unterhalb der aktuellen Codezelle auszuführen.

Eine Codezelle verschieben

Sie können Zellen innerhalb eines Notebooks nach oben oder unten verschieben, indem Sie sie ziehen und ablegen. Für Codezellen befindet sich der Bereich zum Ziehen und Ablegen links vom Zelleneditor, wie unten angegeben. Für gerenderte Markdown-Zellen können Sie überall klicken, um Zellen zu ziehen und abzulegen.

LESEN  Windows 10: Probleme mit dem Sound? So behebst du sie!

Um mehrere Zellen zu verschieben, können Sie dieselben Zieh- und Ablegebereiche in jeder Zelle, die ausgewählt ist, verwenden.

Die Tastenkombination Alt+Pfeil verschiebt ebenfalls eine oder mehrere ausgewählte Zellen.

Eine Codezelle löschen

Um Code zu löschen, verwenden Sie das “Löschen”-Symbol in der Codezellen-Symbolleiste. Wenn sich die ausgewählte Codezelle im Befehlsmodus befindet, können Sie die Tastenkombination dd verwenden.

Ihre letzte Änderung rückgängig machen

Sie können die Taste “Z” verwenden, um Ihre vorherige Änderung rückgängig zu machen. Wenn Sie beispielsweise eine versehentliche Bearbeitung vorgenommen haben, können Sie sie auf den vorherigen korrekten Zustand zurücksetzen oder wenn Sie eine Zelle versehentlich gelöscht haben, können Sie sie wiederherstellen.

Zwischen Code und Markdown wechseln

Der Notebook-Editor ermöglicht es Ihnen, Codezellen einfach zwischen Markdown und Code zu wechseln. Wenn Sie den Sprachpicker unten rechts in einer Zelle auswählen, können Sie zwischen Markdown und, falls zutreffend, jeder anderen Sprache wechseln, die vom ausgewählten Kernel unterstützt wird.

Sie können auch die Tastatur verwenden, um den Zellentyp zu ändern. Wenn eine Zelle ausgewählt und im Befehlsmodus ist, wechselt die Taste M den Zellentyp zu Markdown, und die Taste Y wechselt den Zellentyp zu Code.

Sobald Markdown festgelegt ist, können Sie Markdown-formatierten Inhalt zur Codezelle eingeben.

Um Markdown-Zellen zu rendern, können Sie das Häkchen in der Zellensymbolleiste auswählen oder die Tastenkombinationen Strg+Enter und Umschalt+Enter verwenden.

Ausgabe löschen oder Kernel neu starten/unterbrechen

Wenn Sie alle Codezellausgaben löschen oder den Kernel neu starten/unterbrechen möchten, können Sie dies über die Symbolleiste des Notebook-Editors erreichen.

Ein- oder Ausschalten der Zeilennummern

Wenn Sie sich im Befehlsmodus befinden, können Sie numerierte Zeilen in einer einzelnen Codezelle aktivieren oder deaktivieren, indem Sie die Taste L verwenden.

Um die Zeilennummerierung für das gesamte Notizbuch umzuschalten, verwenden Sie Umschalt+L, wenn Sie sich im Befehlsmodus einer beliebigen Zelle befinden.

Inhaltsverzeichnis

Um durch Ihr Notebook zu navigieren, öffnen Sie den Datei-Explorer in der Aktivitätsleiste. Öffnen Sie dann den Tab “Übersicht” in der Seitenleiste.

Hinweis: Standardmäßig werden im Überblick nur Markdown angezeigt. Um Codezellen anzuzeigen, aktivieren Sie die folgende Einstellung: “Notebook > Übersicht: Codezellen anzeigen”.

IntelliSense-Unterstützung im Jupyter Notebook Editor

Das Python Jupyter Notebook Editor-Fenster bietet vollständige IntelliSense-Unterstützung – Code-Vervollständigungen, Mitgliederlisten, QuickInfo für Methoden und Parameterhinweise. Sie können genauso produktiv im Notebook-Editor Fenster arbeiten wie im Code-Editor.

Variablen-Explorer und Datensichter

In einem Python-Notebook können Sie die Variablen in Ihrer aktuellen Jupyter-Sitzung anzeigen, inspizieren, sortieren und filtern. Wenn Sie nach dem Ausführen von Code und Zellen auf das Symbol “Variablen” in der Symbolleiste klicken, sehen Sie eine Liste der aktuellen Variablen, die sich automatisch aktualisiert, wenn Variablen im Code verwendet werden. Die Variablen werden unten im Notebook angezeigt.

Für weitere Informationen zu Ihren Variablen können Sie auch auf eine Zeile doppelklicken oder die Schaltfläche “Variable im Datensichter anzeigen” neben der Variable verwenden, um eine detailliertere Ansicht einer Variable im Datensichter anzuzeigen.

Das Filtern von Zeilen im Datensichter kann durch Eingabe in das Textfeld oben jeder Spalte erfolgen. Geben Sie einen String ein, den Sie suchen möchten, und jede Zeile, die diesen String in der Spalte enthält, wird gefunden.

Wenn Sie eine genau Übereinstimmung suchen möchten, fügen Sie Ihrem Filter ein ‘=’-Zeichen voran.

Mit einer regulären Ausdrucks können Sie auch komplexere Filterungen vornehmen.

Plots speichern

Um einen Plot aus Ihrem Notebook zu speichern, platzieren Sie den Mauszeiger über der Ausgabe und wählen Sie das Symbol “Speichern” in der oberen rechten Ecke aus.

Hinweis: Es werden Plots unterstützt, die mit matplotlib und Altair erstellt wurden.

Benutzerdefinierte Notebook-Diffing

Unter der Haube sind Jupyter Notebooks JSON-Dateien. Die Segmente in einer JSON-Datei werden als Zellen dargestellt, die aus drei Komponenten bestehen: Eingabe, Ausgabe und Metadaten. Änderungen in einem Notebook mit zeilenbasiertem Diffing zu vergleichen, ist schwierig und schwer zu analysieren. Der Rich-Diffing-Editor für Notebooks ermöglicht es Ihnen jedoch, Änderungen für jede Komponente einer Zelle leicht zu sehen.

LESEN  Tablet kaufen: Finde das perfekte Modell für dich!

Sie können sogar anpassen, welche Arten von Änderungen in Ihrer Diffing-Ansicht angezeigt werden sollen. In der oberen rechten Ecke wählen Sie das Menü-Symbol in der Symbolleiste, um anzugeben, welche Zellkomponenten Sie einschließen möchten. Unterschiede in der Eingabe werden immer angezeigt.

Um mehr über die Git-Integration in VS Code zu erfahren, besuchen Sie Quellsteuerung in VS Code.

Debuggen eines Jupyter Notebooks

Es gibt zwei verschiedene Möglichkeiten, ein Jupyter Notebook zu debuggen: einen einfacheren Modus namens “Zeilenweise ausführen” und den vollständigen Debugging-Modus.

Zeilenweise ausführen

Beim Zeilenweisen Ausführen können Sie eine Zelle Zeile für Zeile ausführen, ohne von anderen Debugging-Funktionen von VS Code abgelenkt zu werden. Um zu beginnen, wählen Sie die Schaltfläche “Zeilenweise ausführen” in der Symbolleiste der Zelle aus:

Verwenden Sie dieselbe Schaltfläche, um eine Anweisung weiter auszuführen. Sie können die Schaltfläche “Stopp” in der Zellensymbolleiste auswählen, um frühzeitig anzuhalten, oder die Schaltfläche “Fortsetzen” in der Symbolleiste, um bis zum Ende der Zelle weiterzuführen.

Zelle debuggen

Wenn Sie den vollen Satz von Debugging-Funktionen verwenden möchten, wie z.B. Breakpoints und die Möglichkeit, in andere Zellen und Module zu wechseln, können Sie den vollständigen VS Code-Debugger verwenden.

  1. Beginnen Sie, indem Sie alle benötigten Breakpoints festlegen, indem Sie auf den linken Rand einer Notebook-Zelle klicken.
  2. Wählen Sie dann die Schaltfläche “Zelle debuggen” im Menü neben der Schaltfläche “Ausführen” aus. Dadurch wird die Zelle in einer Debug-Sitzung ausgeführt, und Ihre Breakpoints werden in jedem Code, der ausgeführt wird, angehalten, auch wenn er sich in einer anderen Zelle oder einer .py-Datei befindet.
  3. Sie können den Debug-View, die Debug-Konsole und alle Schaltflächen in der Debug-Toolbar wie gewohnt in VS Code verwenden.

Durch das Notebook suchen

Sie können in einem Notebook suchen (oder Teile davon durch Filterung der Suchoptionen) mithilfe der Tastenkombination Strg/Cmd + F. Klicken Sie auf die Option “Filter” (Trichter-Symbol), um in folgenden Bereichen zu suchen:

  • Markdown-Zelleingabe (“Markdown-Quelle”)
  • Markdown-Zellausgabe (“Gerendertes Markdown”)
  • Codezellen-Eingabe (“Code Cell Source”)
  • Codezellen-Ausgabe (“Zell-Ausgabe”)

Standardmäßig werden in Notebooks nur Codezellen-Eingaben durchsucht.

Verbindung zu einem Remote-Jupyter-Server herstellen

Sie können rechenintensive Berechnungen in einem Jupyter Notebook auf anderen Computern durchführen, indem Sie sich mit einem Remote-Jupyter-Server verbinden. Sobald Sie verbunden sind, werden Codezellen auf dem Remote-Server und nicht auf dem lokalen Computer ausgeführt.

Um eine Verbindung zu einem Remote-Jupyter-Server herzustellen:

  1. Öffnen Sie den Kernel-Picker-Button oben rechts im Notebook (oder führen Sie den Befehl “Notebook: Select Notebook Kernel” aus der Befehlspalette aus).
  2. Wählen Sie die Option “Vorhandener Jupyter-Server”, um eine Verbindung zu einem vorhandenen Jupyter-Server herzustellen.
  3. Um sich das erste Mal mit einem vorhandenen Server zu verbinden, wählen Sie “Geben Sie die URL des aktuellen Jupyter-Servers ein”.

Wenn Sie zur Eingabe der URL des aktuellen Jupyter-Servers aufgefordert werden, geben Sie die URI des Servers (Hostname) mit dem Authentifizierungstoken ein, das durch einen ?token=URL-Parameter enthalten ist. (Wenn Sie den Server im VS Code-Terminal mit aktiviertem Authentifizierungstoken starten, wird die URL mit dem Token in der Regel im Terminalausgabefenster angezeigt, von wo aus Sie sie kopieren können.) Alternativ können Sie nach Angabe der URI einen Benutzernamen und ein Passwort angeben.

Hinweis: Aus Sicherheitsgründen empfiehlt Microsoft, Ihren Jupyter-Server mit Sicherheitsvorkehrungen wie SSL und Token-Unterstützung zu konfigurieren. Dadurch wird sichergestellt, dass an den Jupyter-Server gesendete Anfragen authentifiziert und Verbindungen zum Remote-Server verschlüsselt sind. Informationen zur Sicherung eines Notebook-Servers finden Sie in der Jupyter-Dokumentation.

Profilvorlagen für Data Science

Profile ermöglichen es Ihnen, je nach aktuellem Projekt oder Aufgabe schnell Ihre Erweiterungen, Einstellungen und UI-Layouts zu wechseln. Um Ihnen den Einstieg in Jupyter Notebooks zu erleichtern, können Sie die Profilvorlage “Data Science” verwenden, die ein kuratiertes Profil mit nützlichen Erweiterungen, Einstellungen und Code-Schnipseln ist. Sie können eine Profilvorlage entweder so verwenden, wie sie ist, oder sie als Ausgangspunkt für weitere Anpassungen an Ihren eigenen Workflows verwenden.

Sie wählen eine Profilvorlage über das Dropdown-Menü “Profile” > “Create Profile…” aus:

Nachdem Sie eine Profilvorlage ausgewählt haben, können Sie die Einstellungen und Erweiterungen überprüfen und einzelne Elemente entfernen, wenn Sie sie nicht in Ihr neues Profil aufnehmen möchten. Nachdem Sie das neue Profil basierend auf der Vorlage erstellt haben, werden Änderungen an Einstellungen, Erweiterungen oder dem UI in Ihrem Profil gespeichert.