python3 -m venv venv (1)
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.
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. |