HOWTO · Python
Wechseln Sie zwischen Python 2 und 3
Dieses Tutorial beschreibt, wie Sie zwischen Python 2 und 3 wechseln.
Auf dieser Seite
Führen Sie ein Projekt mit dem vorgesehenen Interpreter aus, indem Sie direkt den Befehl für Python 2 oder Python 3 verwenden oder den Interpreter über eine Projektumgebung auswählen. Voraussetzung ist, dass der benötigte Interpreter installiert ist. Python 2 erreichte im Januar 2020 das Ende seiner Lebensdauer, wie in der Python.org-Mitteilung zum Ende von Python 2 angekündigt. Verwenden Sie Python 2 daher nur, wenn Legacy-Code es erfordert. Die Auswahl eines Interpreters wandelt keinen Code zwischen Versionen um und stellt den Sicherheitssupport nicht wieder her.
Prüfen, welche Python-2- und Python-3-Interpreter verfügbar sind
Prüfen Sie unter Linux und macOS mit python2 --version und python3 --version, welche Befehle installiert sind. Der einfache Befehl python kann je nach Betriebssystem und Installation auf unterschiedliche Versionen verweisen. Gehen Sie daher nicht davon aus, dass er die für Ihr Projekt benötigte Version auswählt. Wird ein Befehl nicht gefunden, installieren Sie den entsprechenden Interpreter über eine für Ihr Betriebssystem und Projekt geeignete Quelle. Die Verfügbarkeit hängt von der Plattform ab.
Unter Windows kann der Python-Launcher eine installierte Version auswählen. Führen Sie dazu py -2 --version und py -3 --version in der Eingabeaufforderung oder in PowerShell aus. Die jeweilige Version muss installiert und für den Launcher auffindbar sein.
Python 2 oder Python 3 unter Linux und macOS ausführen
Starten Sie eine interaktive Python-2-Sitzung mit python2 oder eine Python-3-Sitzung mit python3. Ein Skript namens app.py führen Sie entsprechend mit python2 app.py oder python3 app.py aus. Diese expliziten Befehle wählen den Interpreter für diesen Aufruf aus und ändern nicht den systemweiten Standard. Verwendet Ihre Installation andere Befehlsnamen, geben Sie den Pfad zur ausführbaren Datei der installierten Version an.
Python 2 oder Python 3 unter Windows ausführen
Starten Sie Python 2 mit py -2 oder Python 3 mit py -3. Ein Skript führen Sie mit py -2 app.py oder py -3 app.py aus. Meldet der Launcher, dass eine angeforderte Version nicht verfügbar ist, prüfen Sie, ob sie installiert und beim Launcher registriert ist. Ob ein Befehl funktioniert, kann außerdem von der PATH-Konfiguration der verwendeten Shell abhängen.
Interpreter und Abhängigkeiten für jedes Projekt isolieren
Eine virtuelle Umgebung trennt die installierten Pakete eines Projekts von denen anderer Projekte. Erstellen Sie sie mit dem gewünschten Interpreter und aktivieren Sie sie, bevor Sie Pakete installieren oder das Projekt ausführen. Für Python 3 stellt die Standardbibliothek venv bereit. Zum Beispiel erstellt python3 -m venv .venv eine Umgebung, sofern dieses Modul in dem Interpreter enthalten ist. Python 2 enthält venv nicht. Für ältere Projekte kann ein kompatibles Drittanbieterwerkzeug wie virtualenv erforderlich sein, das für den jeweiligen Python-2-Interpreter installiert und konfiguriert ist. Verfügbarkeit und Einrichtung hängen vom Betriebssystem und den installierten Werkzeugen ab.
Werkzeuge wie pyenv können auf unterstützten Systemen Python-Versionen pro Projekt auswählen; Docker kann ein Projekt in einem Container-Image isolieren. Für beides ist zusätzliche Einrichtung nötig, und ein verwendbarer Python-2-Build oder ein passendes Image ist möglicherweise nicht auf jeder Plattform verfügbar. Durch Isolation lassen sich Abhängigkeitskonflikte vermeiden, doch Python 2 bleibt nicht mehr unterstützt und kann bei Kontakt mit nicht vertrauenswürdigen Eingaben oder Netzwerken unsicher sein. Verwenden Sie für neue Arbeiten bevorzugt Python 3.
Prüfen, welcher Interpreter ein Skript ausführt
Prüfen Sie die Version mit demselben Befehl oder derselben aktivierten Umgebung, mit der Sie das Skript ausführen: python2 --version, python3 --version, py -2 --version oder py -3 --version. Auch Pakete sollten Sie mit diesem Interpreter installieren: python3 -m pip install PACKAGE ordnet pip Python 3 zu; py -2 -m pip install PACKAGE richtet die Installation über den Windows-Launcher an Python 2, sofern der Launcher verfügbar ist.
Sie können außerdem die folgende kleine Prüfung in ein Skript aufnehmen und es mit dem oben ausgewählten Befehl starten. Sie gibt die Hauptversionsnummer des gerade ausgeführten Interpreters aus. Die Beschriftungen und die sichtbare Ausgabe des unveränderten Beispiels bleiben englisch:
Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.
from __future__ import print_function
import sys
print("Python", sys.version_info[0])
Python 3
Weicht die ausgegebene Version von der für das Projekt benötigten Version ab, ändern Sie den Befehl oder aktivieren Sie die vorgesehene Umgebung und prüfen Sie die Version erneut. Die Interpreterauswahl legt fest, welcher Interpreter den Code ausführt; sie macht Python-2-Syntax oder -Abhängigkeiten nicht mit Python 3 kompatibel.