Python Environments in Jupyter und JuypterLab Desktop

Python
Jupyter
JupyterLab Desktop
Spyder
Autor:in

Jörg Kantel

Veröffentlichungsdatum

25. Juni 2024

Um Pythons »virtuelle Umgebungen« – neudeutsch auch Virtual Environments (kurz venv genannt) – hatte ich bisher immer einen großen Bogen gemacht. Weniger, weil ich befürchtete, daß ich mir mit Mehrfach-Installationen meine Festplatte zumüllen würde, sondern mehr, weil ich bei meinem Chaos davon ausging (und das vermutlich zu Recht), daß ich die Übersicht über all die virtuellen Umgebungen verliere und nicht mehr weiß, welche ich schon angelegt hatte und welche ich noch anlegen wollte.

Nun ist mir aber vor kurzem das wunderbare Buch »Python Tools vor Scientists« von Lee Vaughan in die Hände gefallen, und das hat zu Beginn ein ganzes Kapitel (Chapter 2, p. 21-48) den Conda Environments gewidmet. Dort las ich, daß der von mir bisher sträflich vernachlässigte Anaconda Navigator Buch über alle angelegten virtuellen Umgebungen führt (egal ob mit conda create oder venv angelegt) und diese auch anzeigt, so daß keine verlorengeht und selbst Chaoten wie ich den Überblick behalten.

Zudem wurde bestätigt, daß zumindest die mit conda create angelegten virtuellen Umgebungen – wie ich schon vorher vermutet hatte – nicht die Festplatte zumüllen, sondern jedes Paket nur einmal installiert wird (per Default im pkgs-Verzeichnis der Anaconda-Distribution) und in der virtuellen Umgebung nur ein alias zu diesem Paket angelegt wird.

Nun ist das alles ja schön und gut, aber die Frage, die sich mir stellte: Funktioniert das alles auch mit JupyterLab Desktop, meiner bevorzugten Python-IDE? Einmal die Suchmaschine meines Vertrauens angeworfen und die Bestätigung erhalten. Alles, mit dem mir Lee Vaughan die virtuellen Umgebungen schmackhaft machte, funktioniert ähnlich komfortabel auch in der Desktop-Applikation von JupyterLab und damit unabhängig vom Browser – nachzulesen in der Doumentation unter Python environment management.

Das ist natürlich ein echter Game Changer. Denn in der Vergangenheit war ich hin und wieder schon darauf gestoßen, daß sich (Python-) Pakete/Module/Bibliotheken in die Quere kamen und nicht miteinander spielen wollten. Bisher hatte ich dies mit komplett separaten Python-Installationen gelöst. Das ist natürlich brute force, da sind virtuelle Umgebungen viel eleganter.

Zudem kann ich damit auch mein Sypder-Problem mit der Installation zusätzlicher Pakete angehen, denn die in der Spyder-FAQ dafür empfohlene Lösung verlangt explizit das Anlegen virtueller Umgebungen.

Damit hätte ich dann – neben JupyterLab Desktop – eine weitere, von RStudio inspirierte freie (MIT-Lizenz) Python-IDE im Portfolio. Denn Spyder ist ebenfalls eine großartige Alternative für alle, die aus Thonny herausgewachsen sind. Und glaube ich dem Raunen meines Feedreaders, steht Spyder 6 schon in den Startlöchern und scharrt mit den Hufen. Schaun wir mal, was mir da noch bevorsteht. Still digging!

Literatur


Bild: Der alte Oberförster in seiner gewohnten Umgebung, erstellt mit DreamStudio. Prompt: »Hugo, der alte Oberförster, im Zeitungsblätterwald. colored french comic style«. Modell: stable-diffusion-xl-1024-v1-0, Style: Comic Book.