Python-Umgebungen verwalten- venv, pip und Abhängigkeitsmanagement
Python-Umgebungen verwalten: venv, pip und Abhängigkeitsmanagement
Ein praxisorientierter Leitfaden zur Einrichtung und Pflege stabiler Python-Entwicklungsumgebungen
Inhaltsverzeichnis
Kapitel Eins: Warum eigene Python-Umgebungen sinnvoll sind
- Probleme bei global installierten Paketen
- Abhängigkeiten pro Projekt isolieren
- Versionskonflikte vermeiden
- Überblick über venv, pip, requirements.txt, pyproject.toml
Kapitel 2: Einführung in virtuelle Umgebungen mit venv
- Was ist eine virtuelle Umgebung?
- Eine Umgebung erstellen, aktivieren und deaktivieren
- Unterschiede: Windows, macOS, Linux
- Mini-Projekt: Erste Projektumgebung einrichten
Kapitel 3: Pakete verwalten mit pip
- Pakete installieren, aktualisieren und deinstallieren
- pip list, pip show, pip freeze verstehen
- Offline-Installation und Cache-Verwendung
- Mini-Projekt: Projekt mit mehreren Paketen aufbauen
Kapitel 4: Abhängigkeiten speichern und wiederherstellen
- requirements.txt erstellen mit pip freeze
- Installation aus requirements.txt
- Vorteile und Grenzen
- Mini-Projekt: Projektweitergabe mit Installationsdatei
Kapitel 5: Projekte strukturieren und dokumentieren
- Ordnerstruktur für Python-Projekte
- __init__.py, setup.cfg, README.md
- Dokumentation für installierbare Pakete
- Mini-Projekt: Kleines Tool mit Paketstruktur
Kapitel 6: Erweiterte Verwaltung mit pip-tools und pipenv
- Unterschiede zu pip und venv
- Verwendung von pip-compile für saubere requirements.txt
- pipenv für integriertes Dependency Management
- Vergleich der Tools
Kapitel 7: Arbeiten mit pyproject.toml und build
- Moderne Projektdefinition mit pyproject.toml
- Integration von Abhängigkeiten und Build-Tools
- Paketinstallation mit pip aus pyproject.toml
- Mini-Projekt: Eigenes Paket vorbereiten und testen
Kapitel 8: Kompatibilität und Versionsverwaltung
- Abhängigkeiten auf bestimmte Versionen beschränken
- Semantische Versionsnummern (~=, >=, ==)
- Konflikte lösen und Kompatibilität testen
- Mini-Projekt: Kompatible Umgebung für Team definieren
Kapitel 9: Globale und systemweite Umgebungen vermeiden
- Warum globale Python-Installationen problematisch sein können
- Nutzung von Tools wie pyenv zur Versionstrennung
- Portable Umgebungen für Deployment vorbereiten
Kapitel 10: Best Practices für Python-Umgebungen
- Ein .venv-Ordner im Projektordner
- requirements.txt und constraints.txt kombinieren
- Automatisierte Tests in virtueller Umgebung
- Empfehlungen für Teamarbeit und CI/CD
Anhang A: Wichtige Befehle und Werkzeuge
- python -m venv, source, pip, pip freeze, pip install -r
- pipenv, pyenv, virtualenv, tox, poetry im Überblick
Anhang B: Tool-Vergleich: venv, virtualenv, conda, poetry
- Wann welches Tool sinnvoll ist
- Tabelle mit Funktionsvergleich und Empfehlungen
Anhang C: Übungsaufgaben mit Lösungen
- Umgebung erstellen und Pakete installieren
- Abhängigkeitsdateien schreiben und testen
- Projektstruktur mit virtueller Umgebung aufbauen
- Lösungen mit Schritt-für-Schritt-Erklärung