29 September 2022

  • Bei der Entwicklung mit Python immer mit virtuellen Umgebungen (Virtual Environments, kurz „venv“) arbeiten.

  • Eine virtuelle Umgebung enthält den Python-Interpreter und alle für das Projekt importierten Module in einem Unterverzeichnis, unabhängig davon, welche Version des Interpreters und welche Module auf dem Entwicklungs-System vorhanden sind.

Seit Python 3.3 gehört das venv-Modul zum Lieferumfang; eine neue virtuelle Umgebung mit dem Namen venv entsteht mit nur einem Befehl:

python3 -m venv venv     (1)
1 python3 -m venv <Name des Verzeichnisses> In diesem Beispiel liegt das Verzeichnis venv unterhalb des Verzeichnisses, in dem der Befehl ausgeführt wurde.

Aktivierung des venv der ­folgende Befehl:

source venv/bin/activate    (1)
1 Unter Windows: venv\Scripts\activate.bat

Jetzt können beliebige Python-Modul installiert/deinstalliert werden.

pip3 install <modulname>
pip3 uninstall <modulname>
  • Nach der Installation ist das Modul im virtuellen Environment zu finden (unterhalb von venv\Lib\site-packages).

  • Um das virtuelle Environment wieder zu deaktivieren reicht "deactivate"

  • Um es zu löschen muss nur der Ordner (z.B. venv) gelöscht werden.

1. Requirements

Die für ein Projekt installierten Module werden in einer Datei requirements.txt zusammengestellt.

pip3 freeze > requirements.txt

Diese Datei wird mit dem Projekt ausgeliefert. Auf dem Zielsystem muss dann,um alle notwendigen Module zu installieren, lediglich folgendes ausgeführt werden:

pip3 install -r requirements.txt
(oder)
pip3 install -r requirements.txt --user  (1)
1 Außerhalb eines virtuellen Environments werden Module nur im User-Verzeichnis und nicht global installiert, wenn --user angegeben worden ist.