Aktualisierung von Python 3.10: Sicherheit und Kompatibilität im Fokus
Python 3.10 erreichte am 1. Oktober 2026 das Upstream-End-of-Life. Die letzte Sicherheitsversion ist 3.10.22. Es gibt keine weiteren Upstream-Updates. Der Herstellersupport muss separat geprüft werden. Die konkrete Anwendungskompatibilität sollte einzeln getestet werden.
Projektinventar erstellen
Bevor eine Migration erfolgt, ist es wichtig, ein vollständiges Projektinventar zu erstellen. Dies umfasst alle verwendeten Pakete, Abhängigkeiten sowie die aktuelle Version des Python-Interpreters. Dieses Inventar hilft, potenzielle Kompatibilitätsprobleme frühzeitig zu erkennen und Lösungen zu planen.
Hersteller- und Paketkompatibilität prüfen
Die Kompatibilität muss systematisch geprüft werden, wobei nicht nur die Python-Version, sondern auch alle abhängigen Bibliotheken und deren Versionen berücksichtigt werden. Externe Schnittstellen, wie Datenbanktreiber oder APIs, müssen auf ihre Unterstützung der Zielversion geprüft werden. Für Binärpakete ist die Plattform- und Architekturkompatibilität entscheidend. Die Planung sollte klare Verantwortlichkeiten und Wartungsfenster festlegen, um bei Problemen schnell reagieren zu können. Es ist wichtig, die Migrationsschritte in Phasen zu gliedern und bei jedem Schritt die Auswirkungen auf die gesamte Anwendung zu prüfen. Eine pauschale Migration ohne vorherige Analyse kann zu unerwarteten Fehlern führen.
Herstellerangaben zu unterstützten Versionen sind hier von zentraler Bedeutung.
Sicherung von Anwendung, Daten und Konfiguration
Bevor mit der Migration begonnen wird, sollten Anwendung, Daten und Konfigurationen vollständig gesichert werden. Die alte Umgebung muss unverändert bleiben, um im Falle von Problemen auf sie zurückzugreifen.
Testprojekt und Interpreter prüfen
Die gezeigten Befehle sind Unix-Beispiele; alle Befehle werden im Stammverzeichnis eines getrennten Testprojekts ausgeführt; relative Pfade beziehen sich darauf. Vor Verwendung die tatsächliche python3-Version prüfen. Die Zielversion muss bereits installiert, gepflegt und projektkompatibel sein. Es erfolgt keine Änderung produktiver Dienste.
Das Testprojekt dient der isolierten Prüfung von Migrationsschritten und sollte nicht mit Produktionsumgebungen verwechselt werden. Vor Beginn der Migration die aktuelle Python-Version im Einsatzort ermitteln und mit der Zielversion vergleichen. Alle Befehle im Testprojekt sind exemplarisch und dienen der Demonstration; sie müssen an die eigene Umgebung angepasst werden.
Vor der Installation muss der Interpreter python3 bereits installiert, gepflegt und projektkompatibel sein. Die Datei requirements-reviewed.txt ist eine selbst vorbereitete, auf Zielversion getestete Paketliste und keine mitgelieferte Datei. Das Betriebssystem-Python darf nicht ersetzt werden. Der globale PATH darf nicht verändert werden. Pauschale Paket-Upgrades sind nicht empfohlen. Folgende Befehle sind im Testprojekt zu verwenden:
python3 --version
python3 -m venv .venv-next
.venv-next/bin/python -m pip install -r requirements-reviewed.txt
.venv-next/bin/python -m pip check
Installation und Prüfung der Abhängigkeiten
pip check prüft ausschließlich die deklarierte Abhängigkeitskompatibilität. Es erfolgen keine Anwendungstests und kein Sicherheitsaudit. Ein venv isoliert Pakete, ist jedoch keine Sicherheits-Sandbox und behebt nicht das Supportende des Interpreters. Umgebungen sollten neu erstellt werden, nicht kopiert oder verschoben. Die Aktivierung ist nicht erforderlich, wenn der Interpreterpfad explizit genannt wird.
Testen und Rollbackplanung
Die Abnahme der Migration sollte nur erfolgen, wenn alle geplanten Tests erfolgreich durchgeführt wurden und keine kritischen Fehler aufgetreten sind. Sensible Daten müssen gemäß Projektvorgaben behandelt werden, um keine Verletzungen von Datenschutzbestimmungen zu riskieren. Vor der Umstellung die erwarteten Ergebnisse dokumentieren und mit den tatsächlichen Ergebnissen vergleichen. Unterschiede müssen detailliert dokumentiert und nicht einfach ignoriert werden.
Nach der Installation und Prüfung der Abhängigkeiten sollten Anwendung, Beispieldaten und externe Integrationen getestet werden. Die Kriterien für den Test müssen dokumentiert werden. Bestehende Umgebungen samt Anwendung und Datenbackup sind bis zur Abnahme zu behalten. Erst danach kann eine kontrollierte Umschaltung geplant werden. Ein Rollback auf die alte Umgebung ist nur als Übergangslösung möglich und stellt keinen vollständigen Support wieder her.
Weitere Informationen finden Sie in den offiziellen Dokumentationen: PEP 619, venv-Dokumentation, pip check.
