Skip to content
Themen
Python
So prüfen Sie Ihre Python-Version

So prüfen Sie Ihre Python-Version: Methoden über die Befehlszeile und Skripte

Veröffentlicht am

Aktualisiert am

Um Ihre Python-Version abzufragen, öffnen Sie ein Terminal und führen Sie diesen Befehl aus:

python --version

Erscheint eine Ausgabe wie Python 3.12.4, sind Sie fertig. Schlägt der Befehl fehl oder zeigt er Python 2 an, versuchen Sie python3 --version (macOS/Linux) oder py --version (Windows). Das ist bereits die Antwort — der Rest dieser Anleitung erklärt die Unterschiede zwischen den Plattformen, wie Sie die Version innerhalb eines Skripts prüfen und was zu tun ist, wenn Windows meldet, dass python nicht erkannt wird.

Wo Sie sindBefehl
Windows (Eingabeaufforderung / PowerShell)py --version oder python --version
macOS-/Linux-Terminalpython3 --version
Innerhalb eines laufenden Skriptsimport sys; print(sys.version)
Jupyter / IPython!python --version oder import sys; sys.version
Version eines Pakets statt Pythonpip show <paketname>

Python-Version über die Befehlszeile abfragen (CMD, PowerShell, Terminal)

Windows

Öffnen Sie die Eingabeaufforderung (CMD) oder PowerShell und führen Sie aus:

py --version

Der py-Launcher wird mit dem offiziellen Windows-Installer mitgeliefert und findet Ihre installierten Python-Versionen auch dann, wenn sie nicht im PATH stehen. python --version funktioniert ebenfalls, sofern Python bei der Installation zum PATH hinzugefügt wurde. Alle installierten Versionen auf einmal anzeigen:

py -0

macOS

python3 --version

Auf macOS existiert der bloße Befehl python entweder gar nicht (auf modernen Systemen) oder verwies historisch auf das veraltete System-Python 2 — gewöhnen Sie sich daher an, python3 zu tippen.

Linux (Ubuntu, Debian, Fedora, ...)

python3 --version

Die meisten Distributionen liefern python3 mit. Ob zusätzlich ein einfaches python existiert, hängt von der Distribution ab: Unter Ubuntu gibt es den Befehl nur, wenn das Paket python-is-python3 installiert ist.

Version der aktiven virtuellen Umgebung

Innerhalb einer aktivierten venv- oder conda-Umgebung meldet python --version immer den Interpreter dieser Umgebung, der sich vom System-Python unterscheiden kann:

python --version          # Version der aktiven Umgebung
which python              # macOS/Linux: Pfad des antwortenden Interpreters
where python              # Windows: dasselbe Prinzip

Wenn ein Paket „Python ≥ 3.10" verlangt, Ihr Code aber trotzdem fehlschlägt, prüfen Sie die Umgebung, die den Code tatsächlich ausführt — nicht das systemweite Python. Mehr dazu in unserer Anleitung zu virtuellen Umgebungen in Python.

Welche Python-Version habe ich?

Auf vielen Rechnern sind mehrere Python-Interpreter gleichzeitig installiert: das System-Python, Versionen aus pyenv oder conda und projektspezifische virtuelle Umgebungen. python, python3 und py können daher unterschiedliche Versionen anzeigen — alle Antworten sind korrekt, sie beziehen sich nur auf verschiedene Installationen.

Um herauszufinden, welcher Interpreter auf einen Befehl antwortet:

which python3             # macOS/Linux
where python              # Windows

Entscheidend ist die Version des Interpreters, der Ihren Code tatsächlich ausführt. In einem aktivierten Projektumfeld ist das die virtuelle Umgebung; in Jupyter der Kernel des Notebooks (dort per !python --version oder import sys; sys.version abfragbar).

Python-Version im Skript prüfen

Verwenden Sie sys.version_info, wenn Ihr Code Entscheidungen treffen soll, und platform.python_version(), wenn Sie eine saubere, druckbare Zeichenkette anzeigen möchten:

import sys
 
print(sys.version)        # vollständige Zeichenkette, z. B. '3.12.4 (main, ...) [GCC 13.2]'
print(sys.version_info)   # strukturiert: sys.version_info(major=3, minor=12, ...)
import platform
 
print(platform.python_version())   # '3.12.4'

Mindestversion erzwingen

sys.version_info ist ein Tupel und lässt sich daher direkt vergleichen:

import sys
 
if sys.version_info < (3, 10):
    raise SystemExit("Dieses Skript benötigt Python 3.10 oder neuer")

Dieses Muster hat die alte Fallunterscheidung zwischen Python 2 und Python 3 abgelöst — Python 2 hat 2020 sein Lebensende erreicht, neuer Code sollte einfach eine Mindestversion von Python 3 voraussetzen.

Fehlerbehebung: „'python' ist nicht als interner oder externer Befehl erkannt"

Schlägt python --version fehl — unter Windows typischerweise mit der Meldung „'python' ist nicht als interner oder externer Befehl, ausführbares Programm oder Batchdatei erkannt" —, bedeutet das nur, dass die Shell keine ausführbare Python-Datei findet. Es heißt nicht zwangsläufig, dass Python nicht installiert ist.

  1. Zuerst die Alternativen probieren: python3 --version (macOS/Linux) oder py --version (Windows).
  2. Windows: Funktioniert py, aber python nicht, wurde Python bei der Installation nicht zum PATH hinzugefügt. Führen Sie den Installer erneut aus und aktivieren Sie „Add python.exe to PATH" — oder verwenden Sie einfach py.
  3. Vorsicht vor dem Microsoft-Store-Platzhalter: Wer unter Windows python eintippt, ohne dass Python installiert ist, landet im Microsoft Store. Schlägt auch py --version fehl, ist Python tatsächlich nicht installiert.
  4. macOS/Linux: Fehlt auch python3, installieren Sie Python über python.org (opens in a new tab), Homebrew (brew install python) oder den Paketmanager Ihrer Distribution.

Version eines Pakets oder einer Bibliothek anzeigen

Viele „Versions-Fragen" beziehen sich in Wahrheit auf eine Bibliothek, nicht auf den Interpreter. Die Version eines installierten Pakets lassen Sie sich so anzeigen:

pip show numpy

Oder direkt aus Python heraus (funktioniert bei den meisten modernen Paketen):

import numpy
print(numpy.__version__)

Einen Überblick über alles, was in der aktuellen Umgebung installiert ist, liefert pip list.

Warum die Python-Version wichtig ist

  • Paketkompatibilität — Bibliotheken wie NumPy und Pandas stellen den Support für alte Python-Versionen nach festem Zeitplan ein; auf veralteten Interpretern schlägt die Installation fehl oder löst still auf alte Releases auf.
  • Verfügbare Syntaxmatch-Anweisungen brauchen 3.10+, moderne Type-Hints wie list[int] brauchen 3.9+, f-Strings brauchen 3.6+.
  • Mehrere Interpreter nebeneinander — System-Python, pyenv-/conda-Versionen und projektspezifische venvs können auf unterschiedliche Befehle antworten. Genau so entstehen „aber in meinem Terminal funktioniert es"-Fehler.

Stellt sich heraus, dass Ihre Version älter ist als benötigt, hilft unsere Anleitung zum Upgrade von Python — und eine virtuelle Umgebung pro Projekt sorgt dafür, dass Upgrades keine globalen Nebenwirkungen mehr haben.

FAQ

Wie kann ich meine Python-Version am schnellsten abfragen?

Öffnen Sie ein Terminal und führen Sie python --version aus. Schlägt der Befehl fehl, verwenden Sie python3 --version unter macOS/Linux oder py --version unter Windows.

Wie kann ich die Python-Version ohne Terminal herausfinden?

Starten Sie eine beliebige Python-REPL oder ein Notebook — die Version steht im Startbanner. Alternativ führen Sie import sys; print(sys.version) in einer beliebigen Python-Umgebung aus, auch in Jupyter.

Warum zeigen python --version und python3 --version unterschiedliche Versionen an?

Es sind verschiedene ausführbare Dateien. python und python3 können auf unterschiedliche, parallel installierte Interpreter verweisen. Mit which python (macOS/Linux) oder where python (Windows) sehen Sie, welche Datei der jeweilige Befehl tatsächlich ausführt.

Welche Python-Version verwendet meine virtuelle Umgebung?

Aktivieren Sie die Umgebung und führen Sie python --version aus. Solange die Umgebung aktiv ist, antwortet immer zuerst ihr eigener Interpreter.

Wie erzwinge ich eine Mindestversion in meinem Code?

Vergleichen Sie gegen sys.version_info, z. B. if sys.version_info < (3, 10): raise SystemExit("Python 3.10+ erforderlich").


Verwandte Anleitungen

Sie arbeiten mit Dataframes im Notebook? PyGWalker (GitHub (opens in a new tab)) ist eine Open-Source-Python-Bibliothek, die Ihren Pandas- oder Polars-Dataframe in eine Tableau-ähnliche Oberfläche zur visuellen Exploration verwandelt — ein Import, kein Plotting-Code.