Daten|teiler
Kopieren als Kulturtechnik

PowerShell und Jupyter Notebooks unter Linux in VS Code

24. Oktober 2022 von Christian Imhorst

Jupyter Notebook ist eine Open Source-Webanwendung, mit der man Dokumente erstellen und teilen kann, die Live-Code, mathematische Gleichungen, Visualisierungen von Daten und beschreibenden Text enthalten können. Ein Jupyter Notebook ist ein praktisches Werkzeug für die interaktive Erstellung von Präsentationen, um Code, dessen Ausführung und daraus resultierende Daten darzustellen. Die meisten Jupyter Notebooks laufen mit Python, man kann aber auch andere Sprachen benutzen, z.B. aus dem .NET-Umfeld wie C# oder auch PowerShell. Jupyter Notebooks laufen im Browser, es gibt mit Jupyter eine sehr schöne Erweiterung für VS Code. Und um die Notebooks noch um die .NET-Sprachen zu erweitern, kann man auch gleich noch die Erweiterung .NET Interactive Notebooks aus dem Marketplace von VS Code installieren.

Damit man überhaupt Jupyter Noteboos erstellen kann, wird das entsprechende Python-Modul benötigt:

python3 -m pip install --upgrade pip
python3 -m pip install jupyter

Um ein Jupyter Notebook im Browser zu starten, gibt man dann einfach jupyter notebook im Terminal ein. Im VS Code reicht es dagegen, eine neue Datei mit der Endung .ipynb zu erstellen und man kann loslegen und den beschreibenden Text mit Markdown erstellen und den Code in Python. Um eine Sprache aus dem .NET-Framework zu verwenden, muss natürlich .NET unter Linux installiert sein und für PowerShell am besten die neuste Version.

Wenn das erledigt ist, und die Befehle dotnet für .NET und pwsh für die PowerShell über die Pfad-Variable erreichbar sind, wird noch das Microsoft.dotnet-interactive-Paket benötigt, ein Befehlszeilen-Tool für die interaktive Programmierung mit C# oder PowerShell, inklusive Unterstützung für Jupyter Notebooks:

dotnet tool install --global Microsoft.dotnet-interactive

Anschließend führt man den folgenden Befehl aus, um dotnet-interactive zum Jupyter Notebook hinzuzufügen:

dotnet interactive jupyter install

Jetzt kann man im VS Code Jupyter Notebooks erstellen und PowerShell Cmdlets ausführen. Allerdings muss man darauf achten, dass der Kernel des Notebooks unter .NET Interactive läuft (also nicht Python) und der Programm-Code als „PowerShell (.NET Interactive)“ ausgeführt wird, so wie in der Abbildung:

Das schöne an .NET-Interactive als Kernel für Jupyter Notebooks ist, dass noch weitere Sprachen unterstützt werden, so dass man neben PowerShell auch Code-Blöcke in C#, JacaScript oder auch SQL erstellen kann.

Geschrieben in Gnu/Linux, Open Source, Powershell