GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Warum ist Python 2.7 immer noch die Standard-Python-Version in Ubuntu?

Laut offizieller Dokumentation von Python wird die Unterstützung von Python 2.7 in naher Zukunft enden.

VERALTUNG:Python 2.7 wird am 1. Januar 2020 das Ende seiner Lebensdauer erreichen. Bitte aktualisieren Sie Ihr Python, da Python 2.7 nach diesem Datum nicht mehr gewartet wird. Eine zukünftige Version von Pip wird die Unterstützung für Python 2.7 einstellen. Weitere Details zur Unterstützung von Python 2 in pip finden Sie unter https://pip.pypa.io/en/latest/development/release-process/#python-2-support

Warum verwendet Ubuntu Python3 nicht als Standard in der kommenden Version?

$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="19.04 (Disco Dingo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 19.04"
VERSION_ID="19.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco
$ python
Python 2.7.16 (default, Apr  6 2019, 01:42:57) 
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.

Beste Antwort

Laut den Release Notes von Bionic Beaver:

Python 2 wird standardmäßig nicht mehr installiert. Python 3 wurde auf 3.6 aktualisiert. Dies ist die letzte LTS-Version, die Python 2 in der Hauptversion enthält.

Und die obige Aussage ist wahr. Python 2 wird in Version 18.04 und danach veröffentlichten Versionen nicht standardmäßig installiert. Ubuntu hat bereits fast alle seine Projekte von Python 2 auf Python 3 verschoben. Zum Beispiel laut Release Notes von Disco Dingo:

Samba wurde auf Version 4.10.x aktualisiert, und eine der großen Änderungen hier ist python3 Unterstützung. In Disco sind Samba und seine Abhängigkeiten jetzt nur noch python3, mit Ausnahme von tdb. tdb baut immer noch ein python2-Paket, nämlich python-tdb, aber alle anderen, einschließlich Samba selbst, sind nur python3.

Darüber hinaus forderte Ubuntu/Canonical bereits vor der Veröffentlichung von Ubuntu 18.04 Entwickler auf, auf Python 3 umzusteigen, da das Ende nahe ist . Aus Python – Ubuntu-Wiki:

Die gesamte von Ubuntu/Canonical angetriebene Entwicklung sollte derzeit auf Python 3 abzielen, und der gesamte neue Code sollte nur für Python 3 verwendet werden. Wenn Sie dies aufgrund Ihres Abhängigkeitsstapels nicht tun können, lassen Sie uns reden.

Es scheint, dass auf Ihrem System Python 2 absichtlich installiert wurde oder als Abhängigkeit von einem anderen Paket vorliegt, dessen Entwickler nicht zu Python 3 gewechselt sind. Sie können die von Ihnen installierten Pakete überprüfen, die von Python 2 abhängig sind, indem Sie

apt rdepends python --installed

Der Grund, warum Python 2 aufgerufen wird, wenn python ausgeführt wird, liegt in einem der historischen Punkt von PEP 394 – Der „python“-Befehl auf Unix-ähnlichen Systemen:

Die python sollte immer Python 2 aufrufen (um schwer zu diagnostizierende Fehler zu vermeiden, wenn Python 2-Code auf Python 3 ausgeführt wird).

Bei neueren Versionen wie 20.04 stellt Ubuntu zwei Pakete bereit:

python-is-python2/focal,focal 2.7.17-4 all
  symlinks /usr/bin/python to the DEPRECATED python2

python-is-python3/focal,focal 3.8.2-4 all
  symlinks /usr/bin/python to python3

Wie der Name schon sagt, würde das frühere python machen um python2 aufzurufen und später wird python3 aufgerufen . Wenn Sie keine Anwendung haben, die von Python 2 abhängig ist, können Sie python-is-python3 installieren um python zu erstellen um python3 aufzurufen . Alternativ können Sie auch den Shebang des Skripts in /usr/bin/python3 bearbeiten um ein Skript zur direkten Verwendung von python3 zu erstellen als Dolmetscher.

Verwandte:Können Sie eine apk in Ubuntu Touch installieren?
Ubuntu
  1. So wechseln Sie die Python-Version in Ubuntu und Debian

  2. Wie installiere ich Python unter Ubuntu 20.04 und 18.04?

  3. Was passiert mit der Unity-Desktop-Umgebung und der Standard-Ubuntu-Version?

  4. Warum Ubuntu das Beste für die Serververwaltung ist

  5. So legen Sie das Standard-Gateway unter Ubuntu fest

So ändern Sie das Standardterminal in Ubuntu

Wie bekomme ich die neueste Version von vim auf Ubuntu 20.04?

So installieren Sie Python 3.x und PIP 3 auf Ubuntu 20.04 LTS

So installieren Sie Python 2.7 auf Ubuntu 20.04 LTS

So installieren Sie Python 2.7 und PIP2 unter Ubuntu 20.04 LTS Linux

Wie installiere ich die neueste Version von GCC unter Ubuntu 20.04?