So prüfen und wechseln Sie Python-Versionen unter Ubuntu: Vollständige Anleitung für Entwickler

1. Einführung

Beim Einsatz von Python auf Ubuntu wird das Verwalten von Python-Versionen zu einer wichtigen Aufgabe.
Python erhält häufig neue Releases, und je nach Entwicklungsumgebung müssen Sie möglicherweise verschiedene Versionen verwenden.

Allerdings kann Ubuntu mehrere Python-Versionen installiert haben, was zu Situationen führt wie:
„Möchte die aktuelle Python-Version überprüfen“
„Möchte eine spezifische Version verwenden“
„Möchte Python-Versionen wechseln“
Diese Situationen treten ziemlich oft auf.

Dieser Artikel erklärt detailliert wie man Python-Versionen auf Ubuntu überprüft, ändert und wechselt.
Mit enthaltenen Befehlsbeispielen können sogar Anfänger leicht folgen. Lesen Sie unbedingt bis zum Ende durch.

2. Wie man die Python-Version auf Ubuntu überprüft【Probieren Sie es jetzt aus!】

Zuerst schauen wir uns an, wie man überprüft, welche Python-Version derzeit auf Ubuntu installiert ist.

2.1 Der einfachste Weg (Überprüfung in 1 Sekunde)

Der einfachste Weg, die Python-Version in Ubuntu zu überprüfen, besteht darin, den folgenden Befehl im Terminal auszuführen:

python3 --version

Sie können dasselbe Ergebnis erzielen mit:

python3 -V

Beispiel:

$ python3 --version
Python 3.10.6

Dies zeigt die aktuelle Python-Version an.

2.2 Unterschied zwischen python --version und python3 --version

Auf Ubuntu kann der python-Befehl auf Python 2 verweisen.
Daher wird die Verwendung von python3 --version empfohlen.

Sie können überprüfen, ob python installiert ist, indem Sie ausführen:

python --version

Wenn Sie Command 'python' not found sehen, bedeutet das wahrscheinlich, dass nur Python 3 installiert ist.

2.3 Detaillierte Versionsinformationen abrufen

Wenn Sie detailliertere Informationen wünschen, führen Sie aus:

python3 -VV

Beispiel:

$ python3 -VV
Python 3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]

Dieser Befehl zeigt Details wie die verwendete GCC-Version für die Kompilierung und das Build-Datum an.

2.4 Die Python-Version innerhalb eines Skripts überprüfen

Wenn Sie die Python-Version von innerhalb eines Skripts überprüfen möchten, verwenden Sie das sys-Modul:

import sys
print(sys.version)
print(sys.version_info)

Beispiel:

$ python3 script.py
3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]
sys.version_info(major=3, minor=10, micro=6, releaselevel='final', serial=0)

Mit sys.version_info können Sie jedes Element der Version (major, minor, micro) als Zahlen abrufen.

3. Wie man Python-Versionen ändert oder verwaltet【Systemstandard festlegen】

Ubuntu kann mehrere Python-Versionen installiert haben.
Dieser Abschnitt erklärt, wie man die systemweite Standard-Python-Version ändert.

3.1 Installierte Python-Versionen überprüfen

Um zu überprüfen, welche Python-Versionen installiert sind, führen Sie aus:

ls /usr/bin/python*

Beispiel:

$ ls /usr/bin/python*
/usr/bin/python3  /usr/bin/python3.8  /usr/bin/python3.10

Wenn mehrere Versionen installiert sind, können Sie wählen, welche als Standard verwendet werden soll.

3.2 Den Standard-Python mit update-alternatives wechseln

Sie können die Standard-Python-Version mit update-alternatives wechseln.

Zuerst überprüfen Sie die aktuellen Einstellungen:

sudo update-alternatives --display python

Falls python nicht registriert ist, fügen Sie es mit hinzu:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2

Wählen Sie dann die Standardversion:

sudo update-alternatives --config python

Beispiel:

There are 2 choices for the alternative python (providing /usr/bin/python).

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

Press <enter> to keep the current choice[*], or type selection number:

Geben Sie die Nummer der Version ein, zu der Sie wechseln möchten.

3.3 Den symbolischen Link manuell ändern

Sie können den symbolischen Link auch manuell ändern, anstatt update-alternatives zu verwenden:

sudo ln -sf /usr/bin/python3.10 /usr/bin/python

Damit wird der Befehl python systemweit auf python3.10 umgestellt.

4. Wie man Python-Versionen pro Projekt wechselt

Wenn Sie unter Ubuntu mit Python arbeiten, möchten Sie möglicherweise verschiedene Python-Versionen für verschiedene Projekte verwenden. Zum Beispiel kann ein Projekt Python 3.10 benötigen, während ein anderes Python 3.8 erfordert. In solchen Fällen ist die Verwendung von virtuellen Umgebungen (venv) oder pyenv äußerst nützlich.

Dieser Abschnitt erklärt, wie man Python-Versionen einfach mit virtuellen Umgebungen und pyenv wechselt.

4.1 Python-Versionen pro Umgebung mit venv verwalten

Python bietet venv (virtuelle Umgebungen) als Standardfunktion. Durch die Verwendung virtueller Umgebungen können Sie verschiedene Python-Versionen oder Bibliotheken in einzelnen Verzeichnissen verwalten.

Erstellen einer virtuellen Umgebung mit venv

Wechseln Sie in das Verzeichnis, in dem Sie eine virtuelle Umgebung erstellen möchten, und führen Sie dann aus:

python3 -m venv myenv

Damit wird eine virtuelle Umgebung namens myenv erstellt.

Aktivieren der virtuellen Umgebung

Um die virtuelle Umgebung zu aktivieren, führen Sie aus:

source myenv/bin/activate

Nach der Aktivierung ändert sich die Terminal-Eingabeaufforderung:

(myenv) user@ubuntu:~/project$

Während sie aktiv ist, wird die umgebungsspezifische Python-Version verwendet.

Python-Version innerhalb der Umgebung prüfen

Um die Python-Version innerhalb der virtuellen Umgebung zu prüfen, führen Sie aus:

python --version

Deaktivieren der virtuellen Umgebung

Um die virtuelle Umgebung zu verlassen, führen Sie aus:

deactivate

Mit dieser Methode können Sie Python-Versionen und Pakete für jedes Projekt unabhängig verwalten.

4.2 Python-Versionen mit pyenv verwalten

Während venv Python pro Projekt verwaltet, wenn Sie die Python-Version systemweit frei wechseln möchten, ist pyenv sehr praktisch.

pyenv installieren

Zuerst installieren Sie pyenv. Um pyenv unter Ubuntu zu installieren, führen Sie aus:

curl https://pyenv.run | bash

Wenden Sie dann die Einstellungen mit folgendem Befehl an:

exec $SHELL

Python-Versionen mit pyenv installieren

Um eine Python-Version mit pyenv zu installieren:

pyenv install 3.10.6

Um alle verfügbaren Versionen zu prüfen:

pyenv install --list

Python-Versionen mit pyenv wechseln

Um die globale (systemweite) Python-Version zu ändern:

pyenv global 3.10.6

Um die Python-Version für ein bestimmtes Verzeichnis zu ändern:

pyenv local 3.8.10

Aktuelle pyenv-Python-Version prüfen

Um zu prüfen, welche Python-Versionen pyenv verwaltet, führen Sie aus:

pyenv versions

Damit können Sie verschiedene Python-Versionen pro Projekt einfach verwalten.

5. FAQ (Fehlerbehebung)

Hier finden Sie häufige Fragen und Tipps zur Fehlerbehebung beim Verwalten von Python-Versionen unter Ubuntu.

Q1: Was ist der Unterschied zwischen python und python3?

Unter Ubuntu ist python3 der Standard, während python auf Python 2 verweisen kann. Daher wird die Verwendung von python3 --version empfohlen.

Q2: Was tun, wenn python --version eine unerwartete Version anzeigt?

Sie können die Standard-Python-Version mit update-alternatives oder pyenv ändern.

  • Verwendung von update-alternatives :
    sudo update-alternatives --config python
    
  • Verwendung von pyenv :
    pyenv global 3.10.6
    

Q3: Warum funktioniert python3 --version, aber python nicht?

Der Befehl python ist möglicherweise nicht installiert. Erstellen Sie einen symbolischen Link, um das Problem zu beheben:

sudo ln -sf /usr/bin/python3 /usr/bin/python

Q4: Wie entferne ich eine alte Python-Version unter Ubuntu?

Zuerst listen Sie die installierten Python-Pakete auf:

apt list --installed | grep python

Um eine bestimmte Python-Version zu entfernen:

sudo apt remove python3.6

Q5: Wird das Entfernen einer älteren Python-Version Ubuntu beeinträchtigen?

Einige Ubuntu-Systemwerkzeuge hängen von bestimmten Python-Versionen ab. Prüfen Sie dies mit:

python3 --version

Bevor Sie etwas entfernen, prüfen Sie immer, was installiert ist:

apt list --installed | grep python

6. Zusammenfassung & empfohlene Artikel

In diesem Leitfaden haben wir wie man Python‑Versionen unter Ubuntu prüft, ändert und wechselt behandelt.

  • Python‑Version prüfenpython3 --version
  • Systemweite Version ändernupdate-alternatives oder ln -sf
  • Versionen pro Projekt verwaltenvenv oder pyenv

Die Verwendung von pyenv macht die Verwaltung von Python‑Versionen besonders einfach.
Wenn Sie für mehrere Projekte unterschiedliche Python‑Versionen benötigen oder die systemweite Vorgabe ändern möchten, probieren Sie pyenv aus.