🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

Python Virtual Environments Guide 2026: venv, uv und Best Practices

⏱️2 min read  ·  354 words
Python Virtual Environments Guide 2026: venv, uv and Best Practices

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.

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
  • Festschreibenpyproject.tomlunduv.lockzur Versionskontrolle
  • Verwenden Sieuv 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.

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা