Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Python Virtual Environments

02. 10. 2019 Aktualisiert: 27. 03. 2026 1 Min. Lesezeit intermediate
Dieser Artikel wurde veröffentlicht im Jahr 2019. Einige Informationen können veraltet sein.

Ohne Virtual Environment teilen Sie Abhaengigkeiten zwischen Projekten — das fuehrt zu Versionskonflikten, nicht-deterministischen Builds und dem klassischen “works on my machine”-Problem. Projekt A benoetigt Django 4.2, Projekt B Django 5.0, und ohne Isolierung brechen sie sich gegenseitig. Ein Virtual Environment erstellt ein isoliertes Python mit eigenem Satz von Paketen fuer jedes Projekt.

venv — Eingebaut

python -m venv .venv
source .venv/bin/activate      # Linux/Mac
.venv\Scripts\activate         # Windows
pip install -r requirements.txt
deactivate

Das venv-Modul ist seit Python 3.3 Teil der Standardbibliothek. Es erstellt ein .venv-Verzeichnis mit einer Kopie des Python-Interpreters und einem leeren site-packages. Die Aktivierung setzt PATH so, dass python und pip auf die isolierte Umgebung zeigen. Jedes Projekt hat seine eigenen Bibliotheksversionen ohne Konflikte mit der globalen Installation.

uv — Moderne Alternative

# Installation
curl -LsSf https://astral.sh/uv/install.sh | sh
# Verwendung
uv venv
uv pip install flask
uv pip compile requirements.in -o requirements.txt

uv von Astral (den Ruff-Machern) ist in Rust geschrieben und bietet 10-100x schnellere Paketinstallation als pip. Es unterstuetzt ein pip-kompatibles Interface, Lock-Dateien und pip-kompatible Resolution. Fuer neue Projekte ist uv die empfohlene Wahl — es kombiniert Geschwindigkeit mit Kompatibilitaet. Poetry und PDM sind Alternativen fuer Projekte, die erweitertes Dependency Management mit eigenem Lock-Format benoetigen.

Best Practices

  • .venv in .gitignore — die virtuelle Umgebung wird nie committed
  • requirements.txt oder pyproject.toml — deklarative Abhaengigkeiten
  • Lock-Datei (uv.lock, poetry.lock) — reproduzierbare Builds mit exakten Versionen
  • Eine Umgebung pro Projekt — teilen Sie nie Umgebungen zwischen Projekten
  • CI/CD — erstellen Sie in der Pipeline immer eine saubere Umgebung von Grund auf

Wichtigste Erkenntnis

Verwenden Sie immer ein Virtual Environment fuer jedes Python-Projekt. uv ist die schnellste Wahl fuer neue Projekte, Poetry oder PDM fuer komplexe Projekte mit vielen internen Abhaengigkeiten.

pythonvenvvirtualenv
Teilen:

CORE SYSTEMS Team

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.