Virtuelle Python-Umgebungen: venv und Abhängigkeitsisolierung

Beherrschen Sie virtuelle Python-Umgebungen. Erfahren Sie, wie Sie Abhängigkeiten mit venv und pip sicher erstellen, aktivieren und verwalten.

Versuchen Sie es im Editor

Übersicht

Wenn Sie an mehreren Python-Projekten arbeiten, werden Sie unweigerlich auf Abhängigkeitskonflikte stoßen. Für Projekt A ist möglicherweiseDjangoVersion 3.2 erforderlich, während für Projekt BDjangoVersion 5.0 erforderlich ist. Wenn Sie diese Pakete global installieren, überschreiben sie sich gegenseitig und beschädigen eine Ihrer Anwendungen. Virtuelle Umgebungen lösen dieses kritische Problem, indem sie isolierte, projektspezifische Verzeichnisse erstellen, die ihre eigenen Python-Binär- und Bibliotheksinstallationen enthalten.

Python bietet über das Modul „venv“ integrierte Unterstützung für virtuelle Umgebungen. Wenn Sie eine virtuelle Umgebung erstellen, wird ein neuer Ordner generiert, der eine Kopie des Python-Interpreters sowie Skripte zum Anpassen Ihrer Shell-Umgebung enthält. Bei Aktivierung werden alle Pakete, die Sie mit „pip“ installieren, direkt an diesen isolierten Ordner weitergeleitet, sodass Ihre globale Python-Installation sauber bleibt und nicht von projektspezifischen Bibliotheken beeinflusst wird.

Die Verwaltung virtueller Umgebungen umfasst drei Kernbefehle. Zuerst erstellt „python -m venv venv“ das Verzeichnis der virtuellen Umgebung mit dem Namen „venv“. Als nächstes aktivieren Sie die Umgebung („source venv/bin/activate“ unter macOS/Linux oder „venv\Scripts\activate“ unter Windows). Schließlich frieren Sie Ihre Abhängigkeiten mit „pip freeze > require.txt“ ein und erstellen so eine Liste, die andere Entwickler verwenden können, um die genaue Umgebung neu zu erstellen. Das Verständnis virtueller Umgebungen ist eine nicht verhandelbare Best Practice für das moderne Python-Engineering.

Code- und Ausführungsausgabe

Ein Modell, das Befehle zum Erstellen, Aktivieren und Ausgeben von Paketanforderungen demonstriert.

venv_management.py
Versuchen Sie es im Editor
# This script prints the commands used to configure a virtual environment
commands = [
    "python -m venv my_env       # Create environment",
    "source my_env/bin/activate  # Activate environment (Mac/Linux)",
    "pip install requests        # Install isolated package",
    "pip freeze > requirements.txt # Export dependency catalog"
]

print("--- Virtual Environment Lifecycle ---")
for index, cmd in enumerate(commands, 1):
    print(f"Step {index}: {cmd}")
Terminal-Ausgabe
--- Virtual Environment Lifecycle ---
Step 1: python -m venv my_env       # Create environment
Step 2: source my_env/bin/activate  # Activate environment (Mac/Linux)
Step 3: pip install requests        # Install isolated package
Step 4: pip freeze > requirements.txt # Export dependency catalog

Schrittweise Umsetzung

  • Isolieren von Arbeitsbereichsprojekten, um Abhängigkeitsüberschneidungen zu verhindern
  • Konfigurieren vorhersehbarer Umgebungen für Docker-Container
  • Versand reproduzierbarer Codebasen mit „requirements.txt“-Listen

Häufig gestellte Fragen

Welche Ordner sollte ich in einem Python-Projekt ignorieren?

Sie sollten immer das Verzeichnis der virtuellen Umgebung (normalerweise „venv/“ oder „.venv/“) zu Ihrer .gitignore-Datei hinzufügen. Checken Sie niemals externe Bibliotheksabhängigkeiten in Git ein.

Wie deaktiviere ich eine virtuelle Umgebung?

Geben Sie einfach den Befehl „Deaktivieren“ in Ihr Terminalfenster ein und Ihre Shell kehrt zur globalen Python-Umgebung zurück.

Verwandte Themen

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.