So wechseln Sie unter Debian Linux von der Standard- zur alternativen Python-Version
Ihre Debian-Linux-Installation kann mehrere Python-Versionen enthalten und somit auch mehrere ausführbare Python-Binärdateien enthalten, und es ist möglich, die Python-Version, die das System verwendet, zu ändern. In diesem Tutorial erfahren Sie, wie Sie mehrere Versionen von Python installieren und die Python-Version unter Debian mit dem python-Befehl update-alternatives ändern. Auf diese Weise können Sie verschiedene Python-Programme ausführen, einschließlich Legacy-Skripte. In den folgenden Abschnitten erfahren Sie, wie das geht.
Obwohl Ihr Paketmanager eine sehr aktuelle Version von Python installieren kann, müssen Sie die Python-Download-Seite besuchen, um die absolut neueste Version der Programmiersprache zu erhalten. Dann können Sie manuell darauf umschalten, indem Sie die folgenden Anweisungen befolgen.
In diesem Tutorial lernen Sie:
- So installieren Sie mehrere Python-Versionen
- So ändern Sie die Python-Version unter Debian
Installieren Sie Python unter Debian
Python 2 war am 1. Januar 2020 untergegangen. Sie können Python 2 weiterhin installieren, um einige Legacy-Skripte auszuführen, aber es wird dringend empfohlen, auf Python 3 zu aktualisieren und, wenn möglich, Ihre Skripte so zu aktualisieren, dass sie auf der neueren Python-Version ausgeführt werden.
Es gibt viele verschiedene Versionen von Python. Die beiden, die die meisten Entwickler wahrscheinlich installieren möchten und die in Debians Standard-Repos verfügbar sind, sind die neuesten Versionen von Python 2 und 3. Die folgenden Befehle können verwendet werden, um sie zu installieren.
Installieren Sie Python 2 unter Debian:
sudo apt install python2
Installieren Sie Python 3 unter Debian:
sudo apt install python3
Welche Version von Python verwende ich?
Sie können den folgenden ls-Befehl ausführen, um herauszufinden, welche ausführbaren Python-Binärdateien auf Ihrem System verfügbar sind:
ls /usr/bin/python*
/usr/bin/python /usr/bin/python2 /usr/bin/python2.7 /usr/bin/python3 /usr/bin/python3.4 /usr/bin/python3.4m /usr/bin/python3m
Um zu überprüfen, was Ihre Standard-Python-Version ist, führen Sie Folgendes aus:
python --version
Python 2.7.8
Wenn dieser Befehl nicht funktioniert, versuchen Sie es stattdessen mit dem Befehl python3:
python3 --version
Ändern der Python-Version pro Benutzer
Um eine Python-Version pro Benutzer zu ändern, erstellen Sie einfach einen Alias im Home-Verzeichnis des Benutzers. Öffnen Sie die Datei ~/.bashrc und fügen Sie einen neuen Alias hinzu, um Ihre ausführbare Standard-Python-Datei zu ändern:
alias python='/usr/bin/python3.4'
Sobald Sie die oben genannte Änderung vorgenommen haben, melden Sie sich erneut an oder beziehen Sie Ihre .bashrc-Datei:
. ~/.bashrc
Überprüfen Sie Ihre Standard-Python-Version:
python --version
Python 3.4.2
Ändern Sie die Python-Version systemweit mit update-alternatives python
Um die Python-Version systemweit zu ändern, können wir den Python-Befehl update-alternatives verwenden. Wenn Sie als Root-Benutzer angemeldet sind, listen Sie zunächst alle verfügbaren Python-Alternativen auf:
update-alternatives --list python
update-alternatives: error: no alternatives for python
Die obige Fehlermeldung bedeutet, dass vom Befehl update-alternatives keine Python-Alternativen erkannt wurden. Aus diesem Grund müssen wir unsere Alternativentabelle aktualisieren und sowohl python2.7 als auch python3.4 einbeziehen:
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
update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2
update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
Die Option --install benötigt mehrere Argumente, aus denen sie einen symbolischen Link erstellen kann. Das letzte Argument gibt seine Priorität an, d.h. wenn keine manuelle Auswahl der Alternative getroffen wird, wird die Alternative mit der höchsten Prioritätsnummer gesetzt. In unserem Fall haben wir eine Priorität 2 für /usr/bin/python3.4 gesetzt und als Ergebnis wurde /usr/bin/python3.4 automatisch mit dem Befehl update-alternatives als Standard-Python-Version gesetzt.
python --version
Python 3.4.2
Als nächstes können wir wieder alle Python-Alternativen auflisten:
update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.4
Von nun an können wir jederzeit zwischen den oben aufgeführten alternativen Python-Versionen wechseln, indem wir den folgenden Befehl verwenden und eine Auswahlnummer eingeben:
update-alternatives --config python
python --version
Python 2.7.8
Fehlerbehebung
Falls wir die alternative Python-Version nicht mehr auf unserem System installiert haben, können wir die Liste der Update-Alternativen entfernen. Zum Beispiel entfernen wir die python2.7-Version:
update-alternatives --remove python /usr/bin/python2.7
update-alternatives: removing manually selected alternative - switching python to auto mode
update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
Abschließende Gedanken
In diesem Tutorial haben wir gesehen, wie man unter Debian Linux zwischen mehreren Python-Versionen wechselt. Wie Sie hier gesehen haben, ist es nicht notwendig, eine Version von Python zugunsten der anderen zu entfernen, da Sie beide gleichzeitig verwenden können. Dies ist praktisch für Python-Programmierer, die Code für verschiedene Versionen schreiben möchten, und ermöglicht es ihnen, die Unterstützung für Legacy-Anwendungen beizubehalten und gleichzeitig in den neuesten Standards zu programmieren.

