image image


Worknote: VS Code als Alternative zum Jupyter Notebook

Wie regelmäßige Leser des Schockwellenreiters sicher mitbekommen haben, bin ich mit Jupyter nie richtig warm geworden. Dabei habe ich es mehr als einmal versucht. Und im Gegensatz zu Joel Grus hasse ich eigentlich keine Notebooks, ich mag sie sogar. Nur – ich möchte sie nicht im Browser, sondern in einem komfortablem Texteditor editieren. Das ist der Grund, warum ich lange mit dem Org-mode des Emacs experimentiert habe oder Rmarkdown gut finde. Leider ändert auch JupyterLab an meinem Jupyter-Unbehagen nichts. Trotz aller Versuche, wie ein Editor zu wirken, schimmert der Browser immer wieder durch.

Doch heute ist mir ein Artikel von Chris Moffitt untergekommen:»Exploring an Alternative to Jupyter Notebooks for Python Development«, der zeigte, wie man Visual Studio Code (VS Code) so umbiegt, daß es, ohne den Komfort des Editors zu verlieren, wie ein Notebook funktioniert. Einen ähnlichen Versuch gab es zwar schon vor einigen Jahren mit Hydrogen für GitHubs Editor Atom, aber die Implementierung hatte mich damals nicht überzeugt. Das Interaktive Python Window von VS Code scheint mir da schon durchdachter.

image

Wer schon ein Anaconda-Python auf seinem Rechner installiert hat, der muß nichts weiter installieren. Wie die Dokumentation verrät muß man VS Code unter Umständen mit dem Python: Select Interpreter-Kommande aus der Kommando Palette (⇧⌘P) darauf stupsen, das Anaconda-Python auch zu verwenden. Und dann ist alles ganz einfach: Jupyter-Zellen werden im Quellcode mit # %% eingeleitet. Alles was darunter steht, ist eine einzige Zelle, bis das nächste # %% folgt.

Jede Zelle bis auf die erste bekommt im Editor ein Menü Run Cell | Run Above | Debug Cell, in der ersten Zelle wird Run Above durch Run Below ersetzt. Run Below interpretiert das komplette Notebook, Run Above interpretiert alle Zellen oberhalb der aktuellen Zelle, aber nicht diese. Wie gewohnt können die Zellen aber auch mit Ctrl+Enter respektive Shift+Enter abgearbeitet werden. Beim ersten Run-Befehl öffnet sich in einem neuen Tab des Editors das Python Interactive Window, im Prinzip so etwas wie ein abgespecktes Jupyter Notebook (siehe Screenshot).

Da ist aber noch mehr: Das Python Interactive Window bietet einen Plot Viewer, in dem man nicht nur in den Plot hineinzoomen oder navigieren kann, sondern man kann diesen Plot dort auch nach PDF, SVG und PNG exportieren. Es gibt einen Variablen-Erkunder und einen Data Viewer und Ihr könnt Euch auch mit einem Remote Jupyter Server verbinden. Und last but not least könnt Ihr Euren Python-Code als ein »echtes« Jupyter Notebook (.ipynb) exportieren.

Ich habe bei dem Teil gerade mal an der Oberfläche gekratzt, so wie es aussieht kann es noch viel mehr. Der oben verlinkte Artikel von Chris Moffitt zeigt noch etliche Möglichkeiten auf. Außerdem verweist er auf einen Artikel von Marc Wouts, der mit jupytext und der IDE PyCharm Ähnliches angestellt hat und dies mit VS Code vergleicht. Und auch Spyder soll – ebenfalls durch den Pseudo-Kommentar # %% – mit Code-Zellen umgehen können. PyCharm war mir immer zu fett, aber Spyder sollte ich mir in dieser Hinsicht doch noch einmal genauer anschauen. Still digging!


1 (Email-) Kommentar


Ja, die Möglichkeit finde ich auch nett. Habe hierzu auch ein Video (in Deutsch) veröffentlicht. https://www.youtube.com/watch?v=fxIxoZBvAYw&t=458s

– Andreas W. (Kommentieren) (#)


(Kommentieren) 

image image



Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.

Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.

Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.


Werbung

Diese Spalte wurde absichtlich leergelassen!


Werbung


image  image  image
image  image  image


image