Python Version: Python 2 und 3, Neuerungen von 3.10 bis 3.15 und welche Version Sie installieren sollten
Aktuell ist nur der Zweig Python 3; die neueste stabile Version ist Python 3.15 (Release am 9. Oktober 2026). Python 2 wird seit 2020 nicht mehr unterstützt. Jeden Oktober erscheint eine neue Version, die etwa fünf Jahre lang Korrekturen erhält, deshalb installiert man für neue Projekte die aktuelle 3.x; die eigene Version zeigt der Befehl python3 --version.
Heute gibt es nur noch einen lebendigen Zweig der Sprache — Python 3. Die neueste stabile Version ist Python 3.15, veröffentlicht am 9. Oktober 2026, und Python 2 hat sein offizielles Ende bereits 2020 erreicht. Im Folgenden erfahren Sie, worin sich die Python-Versionen unterscheiden, was in jeder der Versionen 3.10 bis 3.15 neu ist, welche Sie installieren sollten und wie Sie herausfinden, welche auf Ihrem Computer läuft.
So sind Python-Versionen aufgebaut
Eine Versionsnummer besteht aus drei Zahlen: 3.15.0. Die erste ist die Hauptversion (der Zweig der Sprache), die zweite die Nebenversion, in der neue Funktionen erscheinen, die dritte die Korrekturnummer, die nur Fehlerbehebungen enthält. Wenn man von „Python-Versionen“ spricht, meint man meist die Nebenversionen: 3.10, 3.11, 3.12 und so weiter.
Seit 2019 gilt ein Jahreszyklus (PEP 602): Jeden Oktober erscheint eine neue Nebenversion. Etwa ein halbes Jahr vor dem Release gibt es Alpha-, Beta- und Kandidatenversionen, nach dem Release folgen Korrekturen wie 3.15.1, 3.15.2. Innerhalb dieser Korrekturen aktualisieren Sie gefahrlos, denn das Verhalten der Sprache ändert sich bei Korrekturversionen nicht.
Daher kommt auch die Verwirrung bei Suchanfragen: „python 311“ und „python 3.11“ meinen dieselbe Version 3.11. Die Nummer ist kein Dezimalbruch, deshalb ist 3.10 neuer als 3.9, und 3.15 ist neuer als 3.2.
Python 2 und Python 3: der Unterschied
Python 3 erschien 2008 und brach bewusst die Rückwärtskompatibilität, um alte Entscheidungen der Sprache zu korrigieren. Deshalb läuft Code für Python 2 in Python 3 oft nur nach Anpassungen. Die letzte Version des zweiten Zweigs ist 2.7; ihre Unterstützung endete am 1. Januar 2020, die finale Ausgabe 2.7.18 erschien im April 2020.
| Merkmal | Python 2 | Python 3 |
|---|---|---|
| Ausgabe | print "hi" — eine Anweisung | print("hi") — eine Funktion |
| Zeichenketten | standardmäßig Bytes, Unicode — u"..." | str — immer Unicode, Bytes — bytes |
| Division | 7 / 2 ergibt 3 | 7 / 2 ergibt 3.5, ganzzahlig — 7 // 2 |
| Eingabe | raw_input() | input() |
| Bereiche | range erzeugt eine Liste, xrange ist lazy | range ist lazy |
| Unterstützung | seit 2020 nicht mehr | jedes Jahr eine neue Version |
Wenn Sie ein Lehrbuch oder eine Antwort finden, in der print ohne Klammern steht, handelt es sich um Python 2 — das Material ist veraltet. Den alten Zweig heute zu lernen lohnt sich nicht: Er wird auf neuen Systemen nicht mehr installiert, Bibliotheken haben die Unterstützung längst eingestellt, und Kenntnisse darüber braucht man allenfalls, um alten Code zu übertragen.
Neuerungen in Python 3.10 bis 3.15
Im Folgenden die wichtigsten Punkte jeder Version — also das, was den täglichen Code verändert. Vollständige Änderungslisten finden Sie im Bereich What's New der offiziellen Dokumentation.
Python 3.10 (Oktober 2021)
- Strukturelles Pattern Matching
match/case(PEP 634) — Auswertung von Datenstrukturen statt Ketten ausif/elif. - Typvereinigung mit einem Strich:
int | NonestattOptional[int](PEP 604). - Mehrere Kontextmanager in Klammern in einem einzigen
with. - Deutlich verständlichere Meldungen zu Syntaxfehlern.
def describe(point):
match point:
case (0, 0):
return "Ursprung"
case (x, 0):
return f"auf der X-Achse: {x}"
case _:
return "irgendwo anders"
print(describe((3, 0))) # auf der X-Achse: 3
Python 3.11 (Oktober 2022)
- Geschwindigkeit: Das Projekt Faster CPython hat den Interpreter im Schnitt um etwa ein Viertel beschleunigt, bei einigen Aufgaben deutlich stärker.
- Genaue Markierungen im Traceback: Die Pfeile
^^^^zeigen, welcher Ausdruck in der Zeile den Fehler verursacht hat (PEP 657). - Ausnahmegruppen und
except*(PEP 654), Anmerkungen zu Ausnahmen überadd_note(). - Das Modul
tomllibzum Lesen von TOML — zum Beispielpyproject.toml.
Python 3.12 (Oktober 2023)
- Neue Syntax für generische Typen:
def first[T](items: list[T]) -> Tund die Anweisungtypefür Typaliase (PEP 695). - F-Strings haben eine vollwertige Grammatik erhalten (PEP 701): Innerhalb können dieselben Anführungszeichen, Zeilenumbrüche und Kommentare verwendet werden.
- Das veraltete
distutilswurde aus der Standardbibliothek entfernt. - Noch detailliertere Hinweise in Fehlermeldungen, etwa „Haben Sie das Modul vergessen zu importieren?“.
type Pair = tuple[int, int]
def first[T](items: list[T]) -> T:
return items[0]
songs = ["a", "b"]
print(f"Erstes: {first(songs)!r}, insgesamt {len(songs)}")
print(f"{"in Anführungszeichen"}") # funktioniert ab 3.12
Zur häufigen Frage „f-Strings seit welcher Version“: Die f-Strings selbst gibt es schon seit Python 3.6, die Freiheit bei Anführungszeichen und Zeilenumbrüchen innerhalb der geschweiften Klammern kam mit 3.12.
Python 3.13 (Oktober 2024)
- Neue interaktive Konsole: Farben, mehrzeiliges Bearbeiten, Verlauf, und die Befehle
exitundhelpohne Klammern. - Experimenteller Build ohne GIL (free-threaded, PEP 703) und ein experimenteller JIT-Compiler (PEP 744).
- Entfernte „toten Batterien“ — alte Module wie
cgiundtelnetlib(PEP 594). - Die Frist für Fehlerkorrekturen neuer Versionen wurde auf zwei Jahre verlängert.
Python 3.14 (Oktober 2025)
- Template-Zeichenketten, t-Strings:
t"Hallo, {name}"liefern kein fertiges Ergebnis, sondern ein Template-Objekt, das sich sicher weiterverarbeiten lässt (PEP 750). - Verzögerte Auswertung von Annotationen (PEP 649) — weniger Probleme mit Typen, die weiter unten in der Datei deklariert sind.
- Der Build ohne GIL ist nicht mehr experimentell und wird offiziell unterstützt.
- Das Modul
compression.zstd, Syntaxhervorhebung in der Konsole,except A, B:ohne Klammern.
Python 3.15 (9. Oktober 2026)
- Verzögerter Import
lazy import(PEP 810): Ein Modul wird erst beim ersten Zugriff geladen, nicht beim Start. In der Messung aus dem Kurs startete ein Skript mitlazy import pandasin 14 ms statt 280 ms. - Eingebautes unveränderliches Dictionary
frozendict(PEP 814). - Entpacken in Listen-Comprehensions:
[*g for g in groups](PEP 798). - Der Sampling-Profiler Tachyon in der Standardbibliothek (PEP 799).
- UTF-8 als Standard beim Arbeiten mit Dateien (PEP 686) — Schluss mit Kodierungsüberraschungen unter Windows.
- Neue Hinweise „Did you mean“ in Fehlermeldungen.
lazy import json # PEP 810
cfg = frozendict(limit=500) # PEP 814
flat = [*g for g in [[1, 2], [3]]] # PEP 798 -> [1, 2, 3]
print(flat, cfg["limit"])
# python -m profiling.sampling run app.py # PEP 799, Tachyon
Dieser Code läuft nur mit 3.15: Auf älteren Versionen liefern lazy import und das Entpacken in Comprehensions einen SyntaxError, und frozendict führt zu einem NameError.
Unterstützungszeiten der Python-Versionen
Jede Version wird etwa fünf Jahre lang gepflegt. Zunächst erhält sie reguläre Fehlerkorrekturen und Korrekturversionen (ab 3.13 zwei Jahre), danach nur noch Sicherheitskorrekturen bis zum Ende der Laufzeit. Danach gilt die Version als End-of-Life: Sicherheitslücken werden nicht mehr geschlossen.
| Version | Release | Ende der Unterstützung | Status im Oktober 2026 |
|---|---|---|---|
| 2.7 | 2010 | Januar 2020 | nicht mehr unterstützt |
| 3.9 | Oktober 2020 | Oktober 2025 | nicht mehr unterstützt |
| 3.10 | Oktober 2021 | Oktober 2026 | Unterstützung endet |
| 3.11 | Oktober 2022 | Oktober 2027 | nur Sicherheitskorrekturen |
| 3.12 | Oktober 2023 | Oktober 2028 | nur Sicherheitskorrekturen |
| 3.13 | Oktober 2024 | Oktober 2029 | Fehlerkorrekturen |
| 3.14 | Oktober 2025 | Oktober 2030 | Fehlerkorrekturen |
| 3.15 | Oktober 2026 | Oktober 2031 | neueste Version |
Den aktuellen Status jedes Zweigs veröffentlicht die Seite Status of Python versions im Python Developer’s Guide. Bevor Sie eine Version für ein langlebiges Projekt wählen, sollten Sie dort nachsehen.
Welche Python-Version Sie installieren sollten
Für das Lernen und für neue Projekte nehmen Sie die neueste stabile Version, derzeit Python 3.15. Das Argument „ich nehme die bewährte 3.10“ zieht nicht: Im Oktober 2026 erhält sie nicht einmal mehr Sicherheitskorrekturen, und wer die Sprache anhand einer auslaufenden Version lernt, muss später umlernen. Innerhalb von Python 3 ist die Kompatibilität gut: Code für eine ältere Version läuft fast immer auf einer neueren, umgekehrt gilt das nicht.
Ausnahmen gibt es. Wenn eine benötigte Bibliothek noch keine Wheels für die neueste Version veröffentlicht hat (das passiert in den ersten Wochen nach dem Oktober-Release bei Paketen mit C-Erweiterungen), nehmen Sie die vorige Version, 3.14. Auf einem Server mit langer Laufzeit orientieren Sie sich an der Version aus den Paketquellen Ihrer Distribution oder installieren die gewünschte über den Paketmanager uv. Die wichtigste Regel: Wählen Sie keine Version, deren Unterstützung in weniger als einem Jahr endet.
| Situation | Was installieren |
|---|---|
| Sie lernen die Sprache von null an | die neueste stabile (3.15) |
| Neues Projekt | die neueste oder vorletzte |
| Eine Bibliothek unterstützt die Neuheit noch nicht | die vorherige Nebenversion |
| Altes Projekt auf 3.10 oder älter | Umstieg auf eine unterstützte Version planen |
| Code für Python 2 | auf Python 3 portieren |
Wie Sie Ihre Python-Version prüfen
Im Terminal genügt ein einziger Befehl. Unter macOS und Linux verwendet man meist python3, unter Windows python oder den Launcher py.
$ python3 --version
Python 3.12.3 # alte Version — Zeit zum Aktualisieren
$ python3 -V
Python 3.15.0
Unter Windows zeigt der Launcher alle installierten Versionen gleichzeitig, uv zeigt die Versionen, die er findet oder installieren kann:
py --list
uv python list
Innerhalb eines Programms liefert das Modul sys die Version. Das Tupel sys.version_info lässt sich bequem vergleichen, sodass ein Skript selbst prüft, ob der Interpreter passt:
import sys
print(sys.version) # vollständige Zeile mit Build-Datum
print(sys.version_info[:3]) # zum Beispiel (3, 15, 0)
if sys.version_info < (3, 10):
raise SystemExit("Python 3.10 oder neuer wird benötigt")
Wenn python3 --version nicht die Version anzeigt, die Sie installiert haben, findet der PATH zuerst einen anderen Interpreter. Welcher es ist, zeigt which python3 unter macOS und Linux oder where python unter Windows.
Mehrere Python-Versionen auf einem Computer
Es ist normal, 3.13 und 3.15 nebeneinander zu haben: Jede Version wird in einen eigenen Ordner installiert. Am bequemsten verwalten Sie sie mit uv: uv python install 3.15 lädt eine Version herunter, und uv python pin 3.15 legt sie für das Projekt in der Datei .python-version fest. Den systemweiten Python-Interpreter unter Linux sollten Sie nicht anfassen oder manuell aktualisieren — darauf laufen die Werkzeuge des Betriebssystems.
Die minimal erforderliche Version eines Projekts tragen Sie in pyproject.toml im Feld requires-python ein. Dann verweigert der Paketinstaller die Installation auf einem ungeeigneten Interpreter.
[project]
name = "ausgaben"
version = "0.1.0"
requires-python = ">=3.15"
Fazit
Aktuell ist der Zweig 3; die neueste Version ist 3.15 mit lazy import, frozendict und UTF-8 als Standard. Python 2 endete 2020, 3.10 verliert im Oktober 2026 die Unterstützung, deshalb sollten Sie lernen und Projekte auf einer frischen Version beginnen. Ihre eigene Version prüfen Sie mit python3 --version. Im Kurs endet jedes Thema mit einem Block „Neu in 3.10–3.15“, sodass die Änderungen der Versionen praktisch durchgegangen werden.
Häufige Fragen
Was bedeutet IDLE Python 3.10 64-bit im Startmenü?
Das ist die einfache eingebaute Entwicklungsumgebung, die der Installer von python.org mitinstalliert; der Name nennt die Version des Interpreters und die Bitbreite. Steht dort 3.10, läuft eine Version, deren Unterstützung ausläuft — besser eine frische installieren.
Kann ich Python 3.12 einfach auf 3.15 aktualisieren?
Nebenversionen werden nebeneinander installiert, nicht übereinander: Nach der Installation von 3.15 bleibt die alte bestehen, und Sie können sie separat entfernen. Bibliotheken müssen Sie für die neue Version neu installieren oder die virtuelle Umgebung neu anlegen.
Was ist der Unterschied zwischen der 64-Bit- und der 32-Bit-Version?
Die 64-Bit-Version kann mehr Arbeitsspeicher nutzen und passt zu allen modernen Computern; die 32-Bit-Version wählt man nur für sehr alte Systeme.
Wozu dienen Alpha- und Beta-Versionen?
Das sind Vorabversionen der nächsten Ausgabe zum Testen von Bibliotheken und Projekten; zum Lernen und Arbeiten sollten Sie nur finale Releases installieren.
Dieses Thema wird im Kurs „Python 3.15: от новичка до профи“ ausführlich mit Praxis behandelt.
Zum Kurs