Virtuelle Umgebungen mit venv und pip

Virtuelle Umgebungen halten deine Python-Projekte sauber getrennt. Lerne, wie du mit venv und pip Abhängigkeiten pro Projekt verwaltest.

Teilen
Virtuelle Umgebungen mit venv und pip

Sobald du anfängst, externe Bibliotheken zu nutzen, stellt sich eine wichtige Frage: Wo werden sie eigentlich installiert? Wenn du alles global installierst, kommen sich verschiedene Projekte schnell in die Quere – Projekt A braucht Version 1.0 einer Bibliothek, Projekt B aber Version 2.0. Die Lösung sind virtuelle Umgebungen. Mit dem eingebauten Werkzeug venv und dem Paketmanager pip gibst du jedem Projekt seine eigene, saubere Umgebung. In diesem Beitrag lernst du, wie das funktioniert.

Warum virtuelle Umgebungen?

Eine virtuelle Umgebung ist ein isolierter Ordner mit einer eigenen Python-Installation und eigenen Paketen. Was du dort installierst, bleibt auf dieses eine Projekt beschränkt und beeinflusst weder dein System noch andere Projekte. Die Vorteile:

  • Jedes Projekt hat genau die Paketversionen, die es braucht.
  • Konflikte zwischen Projekten werden vermieden.
  • Dein System-Python bleibt sauber und unverändert.
  • Die Abhängigkeiten lassen sich leicht für andere reproduzieren.

Kurz gesagt: Virtuelle Umgebungen sind kein optionaler Luxus, sondern guter Standard für jedes ernsthafte Python-Projekt.

Eine virtuelle Umgebung erstellen

Das Modul venv ist bereits in Python enthalten, du musst nichts installieren. Wechsle im Terminal in deinen Projektordner und erstelle die Umgebung. Üblicherweise nennt man den Ordner venv oder .venv.

# In den Projektordner wechseln
cd mein_projekt

# Virtuelle Umgebung namens .venv erstellen
python3 -m venv .venv

Dadurch entsteht ein neuer Ordner .venv, der eine eigene Python-Kopie und einen leeren Paketbereich enthält. Erstellt wird sie nur einmal pro Projekt.

Die Umgebung aktivieren und deaktivieren

Bevor du die Umgebung nutzen kannst, musst du sie aktivieren. Der Befehl unterscheidet sich je nach Betriebssystem. Solange die Umgebung aktiv ist, siehst du ihren Namen vorne in der Eingabezeile.

# Aktivieren unter macOS / Linux
source .venv/bin/activate

# Aktivieren unter Windows
.venv\Scripts\activate

# Die Eingabezeile zeigt nun den Umgebungsnamen:
# (.venv) $

# Wieder verlassen
deactivate

Nach dem Aktivieren bezieht sich jeder python- und pip-Aufruf auf diese Umgebung. Mit deactivate kehrst du jederzeit zur normalen Shell zurück.

Pakete mit pip installieren

pip ist der Paketmanager von Python. Damit installierst du Bibliotheken aus dem Python Package Index (PyPI). Achte darauf, dass die Umgebung aktiv ist, bevor du etwas installierst – dann landet alles am richtigen Ort.

# Ein Paket installieren
pip install requests

# Eine bestimmte Version installieren
pip install "requests==2.31.0"

# Ein Paket aktualisieren
pip install --upgrade requests

# Installierte Pakete anzeigen
pip list

Nach der Installation kannst du das Paket sofort in deinem Code verwenden, etwa mit import requests. Da es nur in der Umgebung liegt, bleibt dein restliches System unberührt.

Abhängigkeiten in requirements.txt festhalten

Damit andere (oder du selbst auf einem anderen Rechner) genau dieselben Pakete installieren können, hältst du sie in einer Datei requirements.txt fest. Mit pip freeze erzeugst du diese Liste automatisch.

# Aktuelle Pakete in eine Datei schreiben
pip freeze > requirements.txt

# Auf einem anderen Rechner alles auf einmal installieren
pip install -r requirements.txt

Die Datei requirements.txt enthält dann zeilenweise alle Pakete mit ihren Versionen, etwa requests==2.31.0. Sie gehört ins Projekt (und in die Versionsverwaltung), während der Ordner .venv selbst meist ausgeschlossen wird, zum Beispiel über eine .gitignore-Datei.

Fazit

Virtuelle Umgebungen sind ein einfacher, aber entscheidender Schritt zu sauberen Python-Projekten. Du hast gelernt, warum Isolation wichtig ist, wie du mit python3 -m venv .venv eine Umgebung erstellst, sie aktivierst und deaktivierst, mit pip Pakete installierst und mit requirements.txt deine Abhängigkeiten reproduzierbar machst. Gewöhne dir an, für jedes neue Projekt sofort eine virtuelle Umgebung anzulegen. So vermeidest du von Anfang an Versionschaos und kannst dein Projekt jederzeit problemlos auf einem anderen Rechner zum Laufen bringen.