Grundlagen

Python Version: Python 2 und 3, Neuerungen von 3.10 bis 3.15 und welche Version Sie installieren sollten

Aktualisiert: · Skillaria.Top

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.

MerkmalPython 2Python 3
Ausgabeprint "hi" — eine Anweisungprint("hi") — eine Funktion
Zeichenkettenstandardmäßig Bytes, Unicode — u"..."str — immer Unicode, Bytes — bytes
Division7 / 2 ergibt 37 / 2 ergibt 3.5, ganzzahlig — 7 // 2
Eingaberaw_input()input()
Bereicherange erzeugt eine Liste, xrange ist lazyrange ist lazy
Unterstützungseit 2020 nicht mehrjedes 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 aus if/elif.
  • Typvereinigung mit einem Strich: int | None statt Optional[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 über add_note().
  • Das Modul tomllib zum Lesen von TOML — zum Beispiel pyproject.toml.

Python 3.12 (Oktober 2023)

  • Neue Syntax für generische Typen: def first[T](items: list[T]) -> T und die Anweisung type fü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 distutils wurde 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 exit und help ohne Klammern.
  • Experimenteller Build ohne GIL (free-threaded, PEP 703) und ein experimenteller JIT-Compiler (PEP 744).
  • Entfernte „toten Batterien“ — alte Module wie cgi und telnetlib (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 mit lazy import pandas in 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.

VersionReleaseEnde der UnterstützungStatus im Oktober 2026
2.72010Januar 2020nicht mehr unterstützt
3.9Oktober 2020Oktober 2025nicht mehr unterstützt
3.10Oktober 2021Oktober 2026Unterstützung endet
3.11Oktober 2022Oktober 2027nur Sicherheitskorrekturen
3.12Oktober 2023Oktober 2028nur Sicherheitskorrekturen
3.13Oktober 2024Oktober 2029Fehlerkorrekturen
3.14Oktober 2025Oktober 2030Fehlerkorrekturen
3.15Oktober 2026Oktober 2031neueste 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.

SituationWas installieren
Sie lernen die Sprache von null andie neueste stabile (3.15)
Neues Projektdie neueste oder vorletzte
Eine Bibliothek unterstützt die Neuheit noch nichtdie vorherige Nebenversion
Altes Projekt auf 3.10 oder älterUmstieg auf eine unterstützte Version planen
Code für Python 2auf 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.

Das Thema im Video lernen

Dieses Thema wird im Kurs „Python 3.15: от новичка до профи“ ausführlich mit Praxis behandelt.

Zum Kurs