Virtuelle Umgebungen

Neben den Modulen der Standardbibliothek können von PyPI noch alle möglichen Pakete und Module installiert werden.

Das kann dazu führen, dass bestimmte Paket Versionen nicht zusammenpassen, oder bestehende Python Software nicht mehr richtig funktioniert!

Eine virtuelle Umgebungen (=virtual environment) bildet einen Arbeitsbereich, in dem Python-Pakete und Module so voneinander getrennt bzw. zusammengestellt werden, dass sie sich nicht gegenseitig in die Quere kommen können.

Auch zum Erstellen einer virtuellen Umgebung gibt es mehrere Varianten. Ich bevorzuge das Module venv, so wie es bei den Django Girls im Abschnitt ‚Virtuelle Umgebung‘ beschrieben ist.

In der Regel werden Virtuelle Umgebungen nicht systemweit, sondern im Bereich des jeweiligen Benutzers erstellt. Jede virtuelle Umgebung erhält ein eigenes Verzeichnis, in dem die jeweilige Software abgelegt wird. Der Wechsel von einer in die andere Umgebung geschieht durch einen einfachen Befehl, so dass der aktuelle Arbeitsbereich leicht geändert werden kann.

Im Wissenschaftlichen Umfeld ist die Python-Distribution Anaconda weit verbreitet. Die Hauptaufgabe von Anaconda ist das reibungslose Zusammenspiel von den für diesen Bereich wichtigen Python-Paketen und dem Verwalten der Virtuellen Umgebungen.

Anaconda

Anaconda ist eine Distribution (=Zusammenstellung), die aus der Programmiersprache Python und einer ganzen Reihe von Werkzeugen und Bibliotheken besteht.

Verwendet wird Anaconda v.a. im Wissenschaftlichen Bereich, für Datenanalyse und große Datenmengen. Es enthält dafür schon alle wichtigen Module und Pakete und hat einen weiteren Schwerpunkt bei der interaktiven Verwendung von Python, wie z.B. den Jupyter Notebooks.

Der eigentliche Kern von Anaconda ist aber ein Paketmanagement System, d.h. die Möglichkeit Arbeitsumgebungen (= virtual Environments) zu erstellen, zu ändern usw.

Solche Werkzeuge für virtuellen Umgebungen werden auch von der Python-Standard-Bibliothek angeboten. Anaconda kann aber mit seinem conda-Tool die Abhängigkeiten von verschiedenen Paket-Versionen untereinander besser berücksichtigen.

Dazu bietet Anaconda eigene Repositories an, enthält aber auch das Kommandozeilen-Programm pip und kann damit auf des Repository von PyPI zugreifen. Wenn ein Paket aber in einem der Anaconda Repositories vorhanden ist, sollte das bevorzugt werden.

Der Anaconda Navigator ist das grafische Frontend zur Paketverwaltung von Anaconda und startet bzw. zeigt die Anaconda Prompt aus zu verwenden bzw. zu starten.