venv & virtualenv

Virtual Environments in Python erklärt

11.03.2024
Von 
Serdar Yegulalp schreibt für unsere US-Schwesterpublikation Infoworld.

virtualenv: Virtual Environments in Python 2

In Python 2 sind virtuelle Umgebungen kein natives Feature. Um sie zu erstellen und zu managen, müssen Sie stattdessen auf Drittanbieter-Bibliotheken setzen. Eines der populärsten Projekte dieser Art ist virtualenv.

Das Tool erstellt die Verzeichnisstruktur und kopiert die benötigten Dateien in die virtuelle Umgebung. Um virtualenv zu installieren, nutzen Sie den Befehl pip install virtualenv. Ein Verzeichnis für die virtuelle Umgebung erstellen Sie mit virtualenv /path/to/directory. Geht es darum, eine Virtual Environment zu aktivieren und zu deaktivieren ist die Vorgehensweise die gleiche wie bei Python 3 (siehe weiter oben).

Virtuelle Umgebungen in Python 2 sollten, wie Python 2 selbst, nur noch dazu genutzt werden Legacy-Projekte zu warten (bevor sie irgendwann hoffentlich auf Python 3 migriert werden).

Virtuelle Umgebungen mit Jupyter Notebooks

Wenn Sie Jupyter-Notebooks (auch bekannt als IPython-Notebooks) verwenden und Jupyter bereits systemweit installiert ist, erstellen Sie Ihre virtuelle Umgebung und aktivieren Sie sie.

Führen Sie dann im Verzeichnis Ihrer virtuellen Umgebung pip install ipykernel aus, um die benötigten Komponenten für IPython hinzuzufügen. Abschließend führen Sie ipython kernel install -user -name=<project_name> aus (wobei project_name ein Name ist, den Sie mit diesem speziellen Projekt verknüpfen möchten). Nun sollten Sie Jupyter starten und zu dem IPython-Kernel wechseln können, den Sie innerhalb der virtuellen Umgebung installiert haben.

Virtual Environments upgraden

Wenn Sie eine Python-Laufzeitumgebung auf Ihrem System aktualisieren, werden die virtuellen Umgebungen, die diese Version von Python verwenden, nicht automatisch mit aktualisiert - an dieser Stelle sind Sie gefragt. Das ist aber auch so gewollt, denn unerwünschte Python-Versionsupgrades können dafür sorgen, dass Packages nicht mehr funktionieren.

Wenn Sie einen vorhandenen Python-Interpreter mit einem geringfügigen Punkt-Upgrade aktualisiert haben (etwa von Python 3.9.5 auf Python 3.9.7) können Sie die entsprechenden virtuellen Umgebungen ganz einfach aktualisieren. Geben Sie folgenden Befehl in einer Eingabeaufforderung im Projektverzeichnis ein:

python -m venv /path/to/venv --upgrade

Dabei sollten Sie davon absehen, die virtuelle Umgebung vorher zu aktivieren - das kann möglicherweise dazu führen, dass das Upgrade nicht funktioniert.

Wenn Sie eine neue Python-Hauptversion (etwa von Python 3.8 auf 3.9) installieren - müssen Sie eine neue virtuelle Umgebung erstellen, die speziell diese neue Hauptversion verwendet. Ein bestehendes Virtual Environment auf eine höhere Hauptversion zu aktualisieren, ist nicht empfehlenswert.

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.