Guter Python-Code (Teil 4): IDEs für Python

Aus LinuxUser 09/2024

Guter Python-Code (Teil 4): IDEs für Python

© Galyna Andrushko / 123RF.com

Glatter Hechtsprung

Die Programmiersprache Python erfreut sich schon lange großer Popularität. Webbasierte Entwicklungsumgebungen umgehen die Hürde der Installation und erleichtern damit den Einstieg.

Alte Hasen grenzen dank ihrer Erfahrungen klar voneinander ab, was sie zum Programmieren benötigen und was sich eher als hinderlich erweist. Für den Erfolg genügt häufig die Kombination aus Texteditor und Python auf der Kommandozeile. Für mehr Schnickschnack flanschen Sie später einfach das Erforderliche an. Mehr Informationen dazu lesen Sie beispielsweise im Artikel zu den Erweiterungen von Vim nach [1].

Als Einsteiger müssen Sie oft erst einmal ausprobieren, was überhaupt funktioniert – so machen Sie sich Schritt für Schritt mit der Sprache vertraut. Eine integrierte Entwicklungsumgebung (IDE) bietet dabei zusätzliche Unterstützung: Mit Syntaxhervorhebung, einer automatischen Ergänzung von Bezeichnern aus Modulen und Schlüsselworten sowie einer Zeilennummerierung im Editorfenster bringt Sie ein solcher Komfort-Editor schon ein gutes Stück weiter, besonders beim Lokalisieren von Fehlern im Programmcode. Aryan Gupta nimmt in einer nützlichen Übersicht [2] etliche IDEs unter die Lupe. Wir stellen eine Auswahl daraus genauer vor und bewerten die Kandidaten in Bezug auf den Einstieg mit Python.

Ohne Installation

Wenn die Installation einer Software holpert, sorgt das stets für Ärger. Dementsprechend konzentrieren wir uns in diesem Artikel darauf, die Programmiersprache Python zu benutzen, ohne dafür vorher überhaupt eine solche Installation vornehmen zu müssen. Das hat bereits jemand anderes erledigt und alles glattgezogen. Besonders Paket- und Versionsabhängigkeiten gehören zu den Stolperfallen, vor allem Aktualisierungen von Bibliotheken rauben einem durchaus den Enthusiasmus. Üblicherweise schaffen die Paketverwaltungen der Linux-Distributionen das Problem aus der Welt, ganz ausschließen lässt es sich jedoch trotzdem nicht.

Konfliktfreiheit zwischen Bibliotheken versprechen virtuelle Umgebungen, genannt Virtualenv [3]. Obwohl ihr Einsatz vielfach empfohlen wird, lässt sich dieser Schritt nicht immer vermitteln. Das gilt vor allem, wenn es lediglich darum geht, den sprichwörtlichen Zeh ins Wasser zu halten und Sie nur erst einmal herausfinden möchten, ob Sie mit den Elementen der Sprache klarkommen. Virtualenv lässt sich genauso gut auf den zweiten Schritt verschieben, was bei komplexeren Programmierprojekten ohnehin mehr Sinn ergibt.

Fremdinstallationen

Für Python gibt es unzählige Bibliotheken, die so gut wie keine Wünsche für eigene Entwicklungen offenlassen. Eine webbasierte IDE lässt sich häufig nicht selbst ergänzen. Die nutzbaren Bibliotheken hängen vom Administrator ab, der den Server hinter der Entwicklungsumgebung pflegt.

Es gibt drei Wege, um herauszufinden, was funktioniert. Zunächst hilft schlichtes Ausprobieren: Zum einen können Sie über das import-Statement testen, ob ein Modul oder eine Bibliothek installiert ist. Alternativ fragen Sie direkt beim Admin nach oder lesen die Dokumentation. Zweitens sorgt gegebenenfalls das Kommando help("modules") in einer Python-Shell für klare Verhältnisse (Listing 1). Es ermittelt alle installierten Python-Module.

Dasselbe gelingt als dritte Variante auf der Kommandozeile über den Aufruf python3 -c 'help("modules")'. Der Parameter -c veranlasst den Python-Interpreter, die als Parameter übergebene Anweisung als Code zu interpretieren und auszuführen. Beachten Sie dabei bitte die korrekte Verwendung der einfachen und doppelten Anführungszeichen im Aufruf. Das Ergebnis fällt analog zum Beispiel aus Listing 1 aus.

Die drei Schritte haben wir für diesen Artikel bereits hinter uns gebracht und berichten, welche IDEs wir für geeignet halten, um erfolgreich in Python einzusteigen. In die Betrachtungen fließen zudem Rückmeldungen von Teilnehmern aus vom Autor gehaltenen Python-Schulungen ein.

Listing 1

Installierte Python-Module ermitteln

Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help("modules")
Cryptodome          binascii            jinja2              reprlib
IPython             bisect              joblib              requests
PIL                 black               json                resource
PyQt5               blackd              jsonpointer         reuse
Xlib                bleach              jsonschema          rfc3987
__future__          blib2to3            jupyter             rlcompleter
__hello__           boolean             jupyter_client      roman
__phello__          bottle              jupyter_core        runpy
_abc                bottleneck          jupyterlab_pygments sched
_aix_support        brotli              keyword             scipy
...

Online Python

Ein unkompliziertes, übersichtliches Design; einfach und schnell zu bedienen – allesamt Ziele, die sich die Plattform Online Python [4] gesteckt hat. Unserer Ansicht nach hält sie das Versprochene und wartet obendrein mit interessanten Zusätzen auf. Wie Abbildung 1 zeigt, umfasst die Bedienoberfläche einen Eingabebereich für den Programmcode (oben) mit Syntaxhervorhebung, Zeilennummern und Autovervollständigung sowie ein Ausgabefenster (unten), um zu sehen, was der Programmcode bei der Ausführung ausspuckt. Das Ausgabefenster schalten Sie über das Icon >_ in der Symbolleiste bei Bedarf in ein Terminal mit einer Python-Shell um.

Abbildung 1: Die schlanke Benutzeroberfläche von Online Python mit dem Eingabebereich oben und dem Ausgabefenster unten.

Abbildung 1: Die schlanke Benutzeroberfläche von Online Python mit dem Eingabebereich oben und dem Ausgabefenster unten.

Eine überschaubare Anzahl von Schaltern ergänzt die Auswahl: Der Schalter ganz oben links dient zum Laden lokaler Dateien, der direkt daneben zum Speichern. Die beiden anderen Buttons liefern die Historie der Eingaben rück- und vorwärts. Über das Mondsymbol wechseln Sie zwischen heller und dunkler Darstellung. Über das Zahnrad-Icon ganz rechts gelangen Sie zur Seiteninfo und den Bedieneinstellungen. Letztere fallen recht umfangreich aus, wie Sie in Abbildung 1 am rechten Bildrand sehen. Hier lassen sich neben weiteren Farben beispielsweise die Bedienmodi des Editors einstellen – er benimmt sich wahlweise wie Vim, Emacs, Sublime oder Visual Studio Code. Hinzu kommen etliche Darstellungsoptionen wie die Zeilenlänge und Einrückungstiefe (Tabs vs. Leerzeichen).

Zwischen den beiden Fenstern gibt es zwei weitere Schaltflächen und ein Eingabefeld. Der grüne Knopf, mit Run beschriftete Button startet den Interpreter, der weiße (Share) erlaubt das Teilen der Editorinstanz mit anderen Benutzern für einen ausgewählten Zeitraum – einen Tag, eine Woche oder sechs Monate. Damit arbeiten Sie gemeinsam an einem Projekt. In welcher Cloud Online Python den Programmcode ablegt, erschloss sich uns allerdings nicht. Über das große Eingabefeld rechts daneben übergeben Sie bei Bedarf Aufrufparameter an Ihr Programm, was sich als sehr nützlich erweist.

Mit einfacherem Programmcode zum Warmwerden mit der Sprache kommt Online Python gut zurecht und macht soweit einen leistungsfähigen Eindruck. Als Basis dient die Python-Version 3.8. Sie ist zwar schon etwas älter, genügt aber für die ersten Schritte. Als Kritikpunkt fällt auf, dass sich die in der Hilfe genannten Tastenkürzel nicht vollständig mit den Beschriftungen der Schaltflächen decken – hier war Ausprobieren angesagt.

Da die Plattform kostenfrei zur Verfügung steht, jedoch nicht als freie Software gekennzeichnet ist, dürfen Sie sich zu Beginn durch eine Kekslandschaft klicken, um alle datenerhebenden und werbefinanzierenden Elemente abzuschalten. Darüber hinaus fehlen Informationen zum Betreiber der Webseite. Das stimmt nachdenklich, doch unser Fazit zu Online Python lautet grundsätzlich: nützlich, durchdacht und erfüllt seinen Zweck.

Python Online Editor

Python Online Editor [5] mutet ein wenig schlichter an als Online Python. Auch die Bedienoberfläche dieses Werkzeugs setzt sich aus zwei Fenstern zusammen: einem Editorfenster links mit Zeilennummern und Syntaxhervorhebung sowie einem Ausgabefenster rechts (Abbildung 2). Letzteres lässt sich in den Modus Python Shell umschalten.

Abbildung 2: Python Online Editor beherrscht mehrere Sprachen und kommt gewohnt zweigeteilt daher.

Abbildung 2: Python Online Editor beherrscht mehrere Sprachen und kommt gewohnt zweigeteilt daher.

Die Webseite ist mehrsprachig ausgelegt, über den entsprechenden Link oben rechts wechseln Sie zwischen Englisch und Arabisch. Aus einem Dutzend anderer Sprachen wählen Sie über die Schaltfläche mit der Flagge unten rechts die gewünschte aus. Manche der automatisierten Übersetzungen lassen jedoch schmunzeln. Beispielsweise wird aus Share das Wort Aktie, was zwar linguistisch nicht verkehrt ist, aber Teilen würde hier doch deutlich besser in den Kontext passen.

Die Anwendung unterstützt Python 3 bis Version 3.13. Die gewünschte Version stellen Sie zur Laufzeit ein und können damit unterschiedliche Varianten vergleichen. Zudem erlaubt Python Online Editor das Hoch- und Herunterladen von Programmcode im Editor sowie einen Austausch via E-Mail. Kollaboratives Arbeiten an demselben Code klappt derzeit nicht.

Auch hier gilt dasselbe wie bei Online Python: Einfacheren Programmcode setzt das Tool fehlerfrei und flott um. Auf eine Dokumentation müssen Sie allerdings bislang verzichten. Die Liste der unterstützten Python-Module scheint kurz; ob Sie einen Treffer landen, ist dementsprechend reine Glückssache. Die integrierte Python-Shell bindet das in Listing 1 genutzte Kommando help() (noch) nicht ein und erlaubt deshalb keine entsprechende Abfrage.

Zum Ausprobieren eignet sich der Python Online Editor durchaus, für komplexere Projekte empfiehlt er sich eher nicht. Negativ fällt auch hier auf, dass sich trotz viel Begleittext keine Lizenz und keine Information zum Anbieter finden.

Python Fiddle

Das Projekt Python Fiddle [6] hebt sich deutlich von den beiden Vorgängern ab: Es macht einen professionelleren Eindruck, und die IDE wirkt durchdachter. Die Navigation auf der Webseite spielt sich auf mehreren Ebenen ab. Neben dem Projektnamen oben links befindet sich ein Schalter zum Wechseln der Darstellung: Ein Klick auf das Mond-Icon lädt ein dunkles Theme, einer auf das Sonnensymbol hingegen ein helleres Theme. Abbildung 3 zeigt das Theme für den Tag.

Abbildung 3: Python Fiddle bietet kontrastreiche Themes zum angenehmen Arbeiten sowohl für den Tag (hier zu sehen) als auch für die Nacht.

Abbildung 3: Python Fiddle bietet kontrastreiche Themes zum angenehmen Arbeiten sowohl für den Tag (hier zu sehen) als auch für die Nacht.

Oben rechts schließt sich ein Auswahlmenü an, das zu Beispielen, Programmieraufgaben (Challenges), Anleitungen (Tutorials), einer Erweiterung für den Webbrowser Chrome und zum Nutzerbereich (Saved, Sign in) führt. Darunter sitzen eine Navigationsleiste und der Schalter Share. Über die Knöpfe in der Navigationsleiste starten Sie die Programmausführung (>>), springen zwischen einzelnen Checkpoints hin und her, laden Programmcode ins Editorfenster beziehungsweise speichern ihn oder schalten über das Uhrensymbol zwischen den Checkpoints um. Der Knopf rechts daneben wechselt zwischen der Programmausgabe und einer Detailansicht mit Programmcode. Der vorletzte Schalter in der Reihe löscht die Eingabe, der letzte öffnet ein Hilfemenü mit Tipps und Tricks.

Über das erwähnte Share erzeugen Sie einen Link, über den Sie Ihr Eingabefeld anderen Nutzern zugänglich machen. Außerdem legen Sie fest, ob die Mitarbeitenden den freigegebenen Inhalt nur lesen oder auch editieren dürfen. In Abbildung 3 sehen Sie das Popup mit dem erzeugten Link.

Über das zentrale Eingabefeld tippen Sie den Programmcode ein. Es bietet zwar eine Syntaxhervorhebung, verzichtet jedoch auf die Anzeige von Zeilennummern. Die Eingabefelder lassen sich vervielfachen und umsortieren; sie fungieren dann wie in Jupyter Notebooks als Zellen und werden nacheinander ausgewertet. Das Eingabefeld darunter bindet Sie an einen KI-Prompt an. Nach einer Registrierung beim Projekt erhalten Sie den benötigten API-Key, um das Feature zu nutzen. Dabei bleibt allerdings im Dunkeln, an welche KI-Engine Python Fiddle andockt.

Unter beiden Eingabefeldern findet sich ein Button mit einem >, über den Sie den Programmcode ausführen beziehungsweise die KI-Anfrage abschicken. Die Ausgabe erscheint daraufhin unerwarteterweise auf grauem Hintergrund zwischen den beiden Eingabefeldern. Dementsprechend entpuppt sie sich erst auf den zweiten Blick als Ergebnis der Programmausführung. Hinterlegt die Bibliothek das Ergebnis nicht von sich aus farbig, wird es schwierig. Ein kleiner schwarzer Rahmen um das Resultat herum wäre zur besseren Lesbarkeit sehr hilfreich.

Python Fiddle basiert auf dem Projekt Pyodide [7]. Diese Python-Distribution für den Webbrowser und Node.js setzt wiederum auf WebAssembly (WASM [8]) auf, einem vom W3C betreuten binären Ausführungsformat für Stack-basierte VMs. Pyodide ist Teil des Mozilla-Projekts und eine Portierung von CPython [9]. Es ebnet den Weg zur Installation und zum Ausführen von Python-Paketen im Webbrowser. Dementsprechend steht zwar nicht der gesamte Umfang von Python zur Verfügung, aber zumindest Allzweckpakete wie Re, PyYAML, Lxml sowie einige wissenschaftliche Pakete wie NumPy, Pandas, SciPy, Matplotlib und Scikit-learn. Damit kommen Sie weit über den Ausprobierrahmen hinaus.

Bitte beachten Sie, dass Sie mitunter etwas Geduld aufbringen müssen, bis die Ausgabe gerendert ist – beobachtet haben wir das bei den komplexeren Paketen wie NumPy, Plotly und Matplotlib. Ein anderer Effekt sorgt für deutlich mehr Unmut: Wenn Sie vom Fenster des Webbrowsers zu dem eines anderen Programms und dann wieder zum Webbrowser zurückwechseln, rendert Python Fiddle die Ausgabe im Browser-Fenster erneut. Das irritiert und verlangsamt das Arbeiten. Nichtsdestoweniger empfiehlt sich Python Fiddle als lohnenswertes Werkzeug. Die hinterlegten Beispiele erleichtern den Einstieg erheblich und regen an, mit bislang unbekannten Bibliotheken zu spielen.

Trinket

Das kommerziell angelegte Projekt Trinket [10] spielt in derselben Liga wie Python Fiddle. Es präsentiert sich als Webseite mit kollaborativem Editor und dem Slogan “Share Code from any Device”. Wie Sie bisher gesehen haben, kann das kaum als Alleinstellungsmerkmal gelten – das beherrschen andere Werkzeuge genauso. Interessanter wird es, wenn die IDE im größeren Umfang über einen längeren Zeitraum zum Einsatz kommt, beispielsweise im Rahmen einer Ausbildung oder eines Projekts. Dabei kommen die kostenpflichtigen Nutzungspläne von Trinket für das Bereitstellen der IDE für Schüler und Lerngruppen ins Spiel, die wir nur erwähnen, aber nicht weiter besprechen.

Trinket stellt einen Editor mit Syntaxhervorhebung und Nummerierung der Codezeilen bereit, zudem können Sie mehrere Dateien gleichzeitig öffnen. Hinter dem Symbol mit den drei waagerechten Strichen verbirgt sich ein Menü, das zur Modulliste führt, aber Sie ebenso das Editorfenster zurücksetzen lässt. Weitere Menüpunkte umfassen das Umschalten des Editors in den Vollbildmodus, das Herunterladen des erstellten Programmcodes, verschiedene Möglichkeiten zum Teilen des Editors mit anderen sowie das Ändern der Schriftgröße.

Weitere Knöpfe schalten zwischen der Ausführung des Programmcodes und einer Python-Shell um (Abbildung 4), verlinken zur Modulliste sowie zu den Möglichkeiten zur Kollaboration mit anderen Nutzern. Letzteres gelingt via E-Mail, Link, Einbinden in eine Webseite oder Downloads. Unter dem Menü schließt sich das Editorfenster mit dem Programmcode links und der Ausgabe rechts daneben an. Das Ausgabefenster teilt sich waagerecht, sobald Sie den Modus für die Python-Shell aktivieren. Das erlaubt das Mitverfolgen der Programmausführung.

Abbildung 4: Trinket verfügt über Syntaxhervorhebung und Zeilennummern und wirbt mit dem Versprechen, Code von jedem Gerät aus zu teilen.

Abbildung 4: Trinket verfügt über Syntaxhervorhebung und Zeilennummern und wirbt mit dem Versprechen, Code von jedem Gerät aus zu teilen.

Positiv fällt die Übersicht zu den unterstützten Python-Bibliotheken auf. Neben den Namen der Module und Bibliotheken listet Trinket die darin enthaltenen Funktionen beziehungsweise Methoden auf, häufig samt Anwendungsbeispiel in Form eines kurzen Programmcodes (Abbildung 5). Das ersetzt zwar nicht die Dokumentation der Module, senkt aber die Einstiegshürde. Als Module stehen unter anderem PyPlot, PyGal, Re, NumPy und Turtle zur Auswahl. Damit lassen sich auch Animationen umsetzen. Aus unserer Sicht liefert Trinket damit insgesamt eine saubere Basis zum Einstieg.

Abbildung 5: Zu den unterschiedlichen Modulen und Bibliotheken zeigt Trinket Beispielcode, hier für Balkengrafiken bei PyGal.

Abbildung 5: Zu den unterschiedlichen Modulen und Bibliotheken zeigt Trinket Beispielcode, hier für Balkengrafiken bei PyGal.

Jupyter Notebook & Co.

Die drei Werkzeuge Jupyter Notebook, JupyterLab und JupyterLite sind vollwertige, interaktive Python-IDEs im Webbrowser. Sie werden beim Jupyter-Projekt [11] entwickelt, gepflegt und kostenlos als freie Software angeboten. Mittlerweile zählen sie in vielen Forschungsbereichen zum De-facto-Standard beim gemeinsamen Entwickeln von Software sowie dem Austauschen und Auswerten erfasster Daten bis hin zur Dokumentation und Präsentation der Ergebnisse.

Während Jupyter Notebook die Basis bildet und ursprünglich lediglich zum Programm- und Datenaustausch gedacht war, steckt hinter JupyterLab eine Weiterentwicklung mit der Ergänzung um Dokumentation und Präsentation. Bei JupyterLite handelt es sich um eine auf WebAssembly (Wasm) basierende Version, deren Inhalte als statische Github-Seiten ausgeliefert werden.

Alle drei Vertreter kommen mit einer umfangreichen Auswahl an Python-Bibliotheken daher und bieten mehrere Eingabefelder (Zellen) mit interaktiver Codeauswertung, Bezugnahme aufeinander sowie Syntaxhervorhebung und Autovervollständigung. Abbildung 6 zeigt die Nutzung von Matplotlib und NumPy in JupyterLite mit der Ausgabe als Balkengrafik mittels PyPlot. Damit bleiben beim Entwickler keine Wünsche offen.

Abbildung 6: Das Wasm-basierte JupyterLite erfüllt Entwicklern alle Wünsche.

Abbildung 6: Das Wasm-basierte JupyterLite erfüllt Entwicklern alle Wünsche.

Marimo

Das Projekt Marimo [12] löste durch einen Artikel [13] in der Zeitschrift iX Aufmerksamkeit aus. Als Alternative zu Jupyter greift Marimo auf dasselbe Konzept zurück und nutzt Eingabefelder (“Zellen”). Der Unterschied besteht jedoch darin, dass es reaktiv arbeitet und die einzelnen Zellen ihre Abhängigkeit voneinander kennen. Bei einer Änderung des Programmcodes in einer Zelle und einer anschließenden Neuberechnung wendet das Werkzeug stets dieselbe Ausführungsreihenfolge an. Das führt zu verlässlicheren Ergebnissen, weil Seiteneffekte durch globale Variablen entfallen.

Der Quellcode von Marimo findet sich vollständig auf Github und PyPI [14]. Live ausprobieren lässt es sich über eine Webseite [15], die als hübsche Spielwiese mit vielen interaktiven Beispielen daherkommt. Das weckt die Neugierde. In Abbildung 7 sehen Sie Elemente zu Bedienschnittstellen (“Dashboards”), hier in Form eines Auswahlmenüs kombiniert mit einem einfachen Schieberegler, um die Anzahl der dargestellten Bilder zu vergrößern oder zu verringern.

Abbildung 7: Mit Marimo lassen sich schnell interaktive Bedienoberflächen entwickeln.

Abbildung 7: Mit Marimo lassen sich schnell interaktive Bedienoberflächen entwickeln.

Analog zu den Werkzeugen aus der Jupyter-Serie wartet das Editorfenster mit Syntaxhervorhebung, Zeilennummern und einer Autovervollständigung für Bezeichner und Python-Schlüsselworte auf. Marimo spielt mit Python ab Version 3.8 zusammen und erlaubt dementsprechend zeitgemäßes Entwickeln.

Ausblick und Fazit

Zusätzlich haben wir uns nach einer Art Python Live-CD/DVD umgesehen, jedoch bislang nichts gefunden, was direkt diesen Namen trägt. Ins Blickfeld geriet allerdings das Fedora Python Classroom Lab [16]. Das ungefähr 2 GByte große Image enthält mehrere Python-Veröffentlichungen von Version 2 bis 3.11, dazu MicroPython, die Dokumentationsumgebung Sphinx sowie NumPy, Matplotlib, Pandas und SymPy.

Als webbasierte IDEs stehen Jupyter Notebooks und JupyterLab bereit. Der einsteigerfreundliche Editor Mu [17] rundet das Lab ab (Abbildung 8). Wir testeten die Live-CD mit 4 GByte RAM und zwei Kernen in VirtualBox. Damit erreichten wir eine passable Geschwindigkeit, Python ließ sich ruckelfrei ausführen und gut erlernen.

Abbildung 8: Fedora Python Classroom Lab bringt unter anderem die IDE JupyterLab und den Editor Mu mit.

Abbildung 8: Fedora Python Classroom Lab bringt unter anderem die IDE JupyterLab und den Editor Mu mit.

Die besprochenen Werkzeuge repräsentieren lediglich einen kurzen Streifzug durch die Welt der Python-IDEs. Einen klaren Favoriten konnten wir dabei nicht identifizieren. Python Fiddle und Fedora Python Classroom Lab eignen sich aus unserer Sicht am besten als Ausgangspunkte zum Erkunden und Lernen. Für umfangreichere Projekte sollten Sie Marimo nicht unterschätzen, auch wenn derzeit (noch?) Jupyter Notebook und JupyterLab dieses Feld dominieren. (csi)

Der Autor

Frank Hofmann arbeitet zumeist von unterwegs aus als Entwickler, Trainer und Autor. Bevorzugte Arbeitsorte sind Berlin, Genf und Kapstadt. Er gehört zu den Verfassern des Debian-Paketmanagement-Buchs [18].

Infos

  1. Vim-Settings: Frank Hofmann, “Angespitzt”, LU 01/2024, S. 40: https://www.linux-community.de/49974

  2. Aryan Gupta: 17 Most Popular Python IDEs in 2024: Code Like a Pro: https://www.simplilearn.com/tutorials/python-tutorial/python-ide

  3. Virtualenv, Python-Version: Alles über virtuelle Umgebungen: https://datascientest.com/de/virtualenv-python-version-alles-ueber-virtuelle-umgebungen

  4. Online Python: https://www.online-python.com

  5. Python Online Editor: https://pythononlineeditor.com

  6. Python Fiddle: https://python-fiddle.com

  7. Pyodide: https://pyodide.org/en/stable/

  8. WebAssembly: https://webassembly.org

  9. CPython: https://github.com/python/cpython

  10. Trinket: https://trinket.io

  11. Jupyter Notebooks: https://jupyter.org

  12. Marimo: https://marimo.io

  13. “Eine Jupyter-Alternative, die Abhängigkeiten berücksichtigt”: https://www.heise.de/select/ix/2024/5/2401910422991779335

  14. Marimo auf PyPI: https://pypi.org/project/marimo/

  15. Marimo als Webapplikation: https://marimo.app

  16. Fedora Python Classroom Lab: https://fedoraproject.org/de/labs/python-classroom

  17. Mu: https://codewith.mu

  18. Debian-Paketmanagement-Buch, https://dpmb.org

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 09/2024 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben