PowerShell und Jupyter Notebooks unter Linux in VS Code
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