
Virtuelle Python-Umgebungen isolieren Projektabhängigkeiten, sodass verschiedene Projekte konfliktfrei unterschiedliche Paketversionen verwenden können. Im Jahr 2026 sollte jedes Python-Projekt entwedervenvverwenden ,virtualenv, oder das moderneuvWerkzeug. Dieser Leitfaden behandelt alle drei sowie Best Practices.
📋 Table of Contents
Warum virtuelle Umgebungen?
Ohne virtuelle Umgebungen werden alle Pakete global installiert. Projekt A benötigt Django 4.2, Projekt B benötigt Django 5.0 – sie können nicht global koexistieren. Virtuelle Umgebungen lösen dieses Problem, indem sie jedem Projekt seine eigenen Python+-Pakete geben.
venv (eingebaut)
# Create virtual environment
python3 -m venv .venv
# Activate
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows PowerShell
# Install packages
pip install fastapi uvicorn sqlalchemy
# Save dependencies
pip freeze > requirements.txt
# Deactivate
deactivate
uv – Das schnelle moderne Tool (Standard 2026)
UVvon Astral ersetzt pip, venv und pyenv. Es ist 10-100x schneller als pip, da es in Rust geschrieben ist. Im Jahr 2026 ist UV das empfohlene Werkzeug für neue Projekte.
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create project with virtual env
uv init myproject
cd myproject
# Add dependencies (auto-creates .venv)
uv add fastapi uvicorn sqlalchemy
# Run script in venv
uv run python main.py
# Sync dependencies from pyproject.toml
uv sync
pyproject.toml vs. require.txt
Moderne Python-Projekte verwendenpyproject.tomlstattrequirements.txt. Es umfasst Metadaten, Abhängigkeiten mit Versionseinschränkungen und Toolkonfigurationen.
[project]
name = "myapp"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
"fastapi>=0.115",
"uvicorn>=0.30",
"sqlalchemy>=2.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"ruff>=0.4",
"mypy>=1.10",
]
Verwalten mehrerer Python-Versionen
# uv can install Python versions too
uv python install 3.12 3.13
uv python list
# Pin Python version for project
uv python pin 3.12
# Or use pyenv for Python version management
pyenv install 3.12.3
pyenv local 3.12.3 # sets .python-version file
Best Practices
- Benennen Sie Ihren Venv immer
.venv— Die meisten Editoren erkennen es automatisch - Fügen Sie
.venv/hinzu zu.gitignore - Festschreiben
pyproject.tomlunduv.lockzur Versionskontrolle - Verwenden Sie
uv syncauf einem neuen Klon, um genaue Abhängigkeiten zu reproduzieren - Trennen Sie Entwicklungsabhängigkeiten von Produktionsabhängigkeiten
# .gitignore
.venv/
__pycache__/
*.pyc
.env
dist/
*.egg-info/
Fazit
Virtuelle Umgebungen sind für die Python-Entwicklung nicht verhandelbar. Verwenden SievenvWechseln Sie für einfache Projekte zuuvfür Geschwindigkeit und modernes Abhängigkeitsmanagement. Ihr zukünftiges Ich (und Ihre Teamkollegen) werden es Ihnen danken.
🔗 Share this article
✍️ Leave a Comment