Website-Suche

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.

NOTE
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

WARNING
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.

Verwandte Artikel: