Python/Modul-Versionen
Inhalt
Python/Modul-Versionen¶
Python wird ständig weiterentwickelt und es werden immer wieder neue Versionen veröffentlicht. Gerade wenn man zum Beispiel miniconda verwendet und viel verschiedene Umgebungen benutzt, verliert man schnell den Überblick.
Python-Versionen¶
In der Python-Version 3.10, wurde zum Beispiel das match/case
-Statement eingeführt, welches in den früheren Versionen nicht vorhanden war. Eine Überprüfung der Python Version ist also manchmal notwendig, um Fehlermeldungen auf den Grund zu gehen.
# Python 3.10 - match/case-Statement
def http_error(status):
match status:
case 400:
return "Bad request"
case 404:
return "Not found"
case 418:
return "I'm a teapot"
case 401 | 403 | 404:
return 'Not allowed'
case _:
return "Something else"
Pythonversion in Terminals¶
Wollen wir die Python-Version in Terminals anzeigen lassen, können wir dies mit python --version
oder python -V
erreichen.
Die Eingabe:
python --version
Die Ausgabe:
3.9.7
Pythonversion in Konsolen / Jupyter Lab Konsolen¶
Wir können in Terminals als auch im Jupyter Lab sogenannte Python Konsolen starten. Diese ermöglichen eine interaktive Python Sitzung. Beim Starten werden Informationen zur Python Umgebung angezeigt.

Abb. 1 Jupyter Lab Console¶
Python-Version in einem Programm (Programm/Jupyter-Notebook)¶
In einem Python-Programm oder in einem Jupyter-Notebook können wir wie die verwendete Python-Version mit sys
oder platform
auslesen.
Starten wir mit sys
:
import sys
sys.version
'3.9.7 | packaged by conda-forge | (default, Sep 23 2021, 07:28:37) \n[GCC 9.4.0]'
Wir erhalten viele nützliche Informationen. Als erstes natürlich die Python-Version, den Installationskanal und das Installationsdatum.
Mit version_info
können wir noch ein paar weitere Details auslesen.
sys.version_info
sys.version_info(major=3, minor=9, micro=7, releaselevel='final', serial=0)
Jetzt verwenden wir platform
:
import platform
platform.python_version()
'3.9.7'
platform.python_version_tuple()
('3', '9', '7')
Wir können auch das Betriebsystem auslesen.
platform.system()
'Linux'
Python-Modul-Version¶
Viele Python Module besitzen das Attribut __version__
, welches uns die Version des Moduls anzeigt.
import numpy
numpy.__version__
'1.21.2'
Nicht alle Python Module haben dieses Attribut.
Alternativ können wir die Module importlib_metadata
oder pkg_resources
benutzen.
from importlib_metadata import version
print(version('numpy'))
1.21.2
import pkg_resources
print(pkg_resources.get_distribution('numpy').version)
1.21.2