Eine virtuelle Umgebung für Python erstellen

Eine virtuelle Python-Umgebung kann auf unterschiedliche Weise erzeugt werden. In diesem Artikel stelle ich die Vorgehensweise mit virtualenv und venv vor. Außerdem zeige ich, wie sie in Sublime Text und Visual Studio Code genutzt bzw. aktiviert werden.

Zunächst aber zur Frage, wofür eine virtuelle Umgebung gut ist. Wenn man an unterschiedlichen Projekten arbeitet, die unterschiedliche Python-Versionen benötigen oder für die Abhängigkeiten unterschiedlicher Versionen erforderlich sind, dann macht es Sinn eine Möglichkeit zu haben, diese Projekte voneinander zu separieren. Mit virtuellen Umgebungen wird genau dies realisiert.

Das Modul virtualenv

Dieses Modul ist unter Python 2 und Python 3 verfügbar; es muss mit pip (oder pip3 installiert werden):

$ pip install virtualenv

Als nächstes erstellt man ein Projektverzeichnis:

$ mkdir <Projektverzeichnis>
$ cd <Projektverzeichnis>

In diesem Verzeichnis wird dann die virtuelle Umgebung erzeugt:

$ virtualenv venv

Dadurch wird das Verzeichnis „venv“ erstellt, in dem sich alle erforderlichen Python-Dateien befinden. Dazu gehört auch eine Version des pip-Moduls, so dass man zusätzlich weitere – nur für dieses Projekt genutzte – Module hinzufügen kann.

Das ich hier als Verzeichnisname „venv“ gewählt habe, ist eine Konvention. Man könnte auch irgendeine andere Bezeichnung wählen.

Über die Option -p <Pfad_zur_Python-Installation> könnte außerdem angegeben werden, welche Python-Version genutzt werden soll. (Sofern unterschiedliche Versionen auf dem System zur Verfügung stehen.)

Es ist auch möglich, auf ein Unterverzeichnis zu verzichten:

$ virtualenv -p python3 .

Der Punkt meint das aktuelle Verzeichnis, so dass in diesem Beispiel eine virtuelle Umgebung unter Verwendung von Python 3 in diesem Verzeichnis erstellt wird.

Um die virtuelle Umgebung nutzen zu können, muss sie aktiviert werden. Sofern kein Unterordner erstellt wurde, erfolgt dies mit:

$ source bin/activate

Falls ein Unterordner mit der Bezeichnung „venv“ angelegt wurde, müsste dementsprechend

$ source venv/bin/activate

eingegeben werden.

Sobald die Aktivierung durchgeführt wurde, kann man etwaige Module mit pip (bzw. pip3) installieren.

Damit ist die Einrichtung der virtuellen Umgebung abgeschlossen. Zum Deaktivieren reicht übrigens die Eingabe des Befehls deactivate aus:

(venv) $ deactivate

Das Modul venv

Eine virtuelle Umgebung kann auch mit dem Module venv erzeugt werden, das nur unter Python 3 verfügbar ist. Im Gegensatz zu virtualenv handelt es sich nicht um ein separates Modul. Vielmehr wird es zusammen mit Python 3 ausgeliefert. Eine Installation mit pip3 ist also nicht erforderlich.

Sofern Ihr Python 3 nutzt, solltet Ihr venv den Vorzug geben, da Ihr Euch dadurch einen Installationsschritt (und eine Abhängigkeit von einem separaten Paket) erspart.

Für die Einrichtung einer virtuellen Umgebung mit venv gilt folgende Syntax:

$ python3 -m venv /path/to/new/virtual/environment

Den Namen des Ordners kann auch hier frei gewählt werden. An dieser Stelle möchte ich darauf hinweisen, dass man – unter UNIX-artigen System – auch einen versteckten Ordner anlegen könnte (z.B. „.venv“).

$ $ python3 -m venv .venv

Die virtuelle Umgebung wird anschließend wieder mit activate aktiviert:

$ source .venv/bin/activate

Und die Deaktivierung erfolgt auch hier wieder mit deactivate:

deactivate

Virtuelle Umgebungen in einem Code-Editor nutzen

In Sublime Text 3 muss zunächst das Paket Virtualenv mit dem Paketmanager Package Control installiert werden.

Über

> Tools > Build System

kann dann „Python + Virtualenv“ aufgerufen werden. Die Aktivierung der virtuellen Umgebung erfolgt über die Kommandoübersicht, die mit der Tastenkombination Shift + cmd + P aufgerufen wird. Hier wählt Ihr dann

Virtualenv: Activate

aus.

Auf dem gleichen Weg erfolgt auch die Deaktivierung:

Virtualenv: Deactivate

Das Paket Virtualenv funktioniert übrigens sowohl mit virtualenv als auch mit venv.

In Visual Studio Code sollte die Python-Erweiterung installiert sein. In der Kommandoübersicht, die auch hier mit der Tastenkombination Shift + cmd + P aufgerufen werden kann, wählt Ihr dann

Python: Select Interpreter

aus. In der Übersicht zu den zur Verfügung stehenden Interpretern erscheint unter anderem der Ordner mit den Dateien zu Eurer virtuellen Umgebung (z.B. „.venv“). Diesen wählt Ihr aus. In der Statuszeile von Visual Studio Code wird dann dieser Interpreter angezeigt.

Wenn in Visual Studio Code ein neues integriertes Terminal gestartet wird, dann ist diese virtuelle Umgebung automatisch aktiviert. Ein solches Terminal kann übrigens über die Kommandoübersicht mit

Terminal: Create New Integrated Terminal

geöffnet werden.

Weiterführende Links