Page tree
Skip to end of metadata
Go to start of metadata

Im aktuellen Raspberry Pi OS (Stand 16.08.2020), basierend auf Debian 10 Buster, ist noch Python in der Version 2.7.16 als Standard eingestellt. Da die Python Version 2 seit dem 01.01.2020 keine Updates, Bugfixes und Support erhält sollten alle Programme auf Python 3 portiert werden und Python 3 ebenfalls als Standard unter Raspberry Pi OS verwendet werden. Python 3 ist im aktuellen Release schon vorinstalliert, es braucht nur noch zum Standard gesetzt zu werden.


Die aktuell installierten Python Versionen kann man sich wie folgt anzeigen lassen.

pi@raspberrypi:~ $ python --version
Python 2.7.16
pi@raspberrypi:~ $ python3 --version
Python 3.7.3

Standardprogramme können unter Debian basierten Distributionen mit dem Programm "update-alternatives" gesetzt werden. Dadurch werden entsprechende symbolische Links auf das jeweilige Programm gesetzt und kann sofort verwendet werden. Python ist allerdings für "update-alternatives" noch nicht registriert, bzw. installiert.

pi@raspberrypi:~ $ sudo update-alternatives --list python
update-alternatives: error: no alternatives for python

Um nun die beiden Python Versionen hinzuzufügen kann "update-alternatives" wieder verwendet werden.

pi@raspberrypi:~ $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode
pi@raspberrypi:~ $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2
update-alternatives: using /usr/bin/python3.7 to provide /usr/bin/python (python) in auto mode

Die Syntax für die Installation lautet update-alternatives --install <Link> <Name> <Pfad> <Priorität>. Es reicht dabei die Major Versionen von Python anzugeben, in dem Fall 2.7 anstatt 2.7.16 und 3.7 anstatt 3.7.3. Die höhere Priorität (1 bei Version 2.7 und 2 bei Version 3.7) wird dabei als Standard gesetzt. Die Änderungen sind sofort wirksam wie ein Aufruf von "python" zeigt.

pi@raspberrypi:~ $ python --version
Python 3.7.3

Ebenfalls werden nun die registrierten Versionen von Python angezeigt.

pi@raspberrypi:~ $ update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.7

Um später die Standardversion wieder zu ändern kann ebenfalls update-alternatives verwendet werden.

pi@raspberrypi:~ $ sudo update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.7   2         auto mode
  1            /usr/bin/python2.7   1         manual mode
  2            /usr/bin/python3.7   2         manual mode

Press <enter> to keep the current choice[*], or type selection number:
pi@raspberrypi:~ $

Die mit Stern markierte Version ist in diesem Fall die Standardversion. Ältere Versionen können über update-alternatives auch wieder entfernt werden.

pi@raspberry:~ $ sudo update-alternatives --remove python /usr/bin/python3.7

Sie planen ein IoT, Automatisierungs- oder Embedded Projekt? Mit über 30 Jahren Erfahrung und zertifiziert nach DIN EN ISO 9001:2015 unterstützen wir Sie in jeder Phase Ihres Projektes. Ob Auswahl der geeigneten Hardware, Planung, Projektierung und Umsetzung, individuelle Anpassungen, Implementierung, Logistik oder Ausbau und Betreuung  der Infrastruktur - sprechen Sie uns einfach an. Zu fairen Konditionen setzen wir gemeinsam mit Ihnen das Projekt erfolgreich um.

Kontakt: IoT@ico.de oder telefonisch unter 06432 / 9139 - 320

  • No labels