GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Pourquoi Python 2.7 est-il toujours la version Python par défaut dans Ubuntu ?

Selon la documentation officielle de Python, la prise en charge de Python2.7 se terminera bientôt.

ABANDON :Python 2.7 arrivera en fin de vie le 1er janvier 2020. Veuillez mettre à jour votre Python car Python 2.7 ne sera plus maintenu après cette date. Une future version de pip supprimera la prise en charge de Python 2.7. Plus de détails sur la prise en charge de Python 2 dans pip, peuvent être trouvés sur https://pip.pypa.io/en/latest/development/release-process/#python-2-support

Pourquoi Ubuntu n'utilise-t-il pas Python3 par défaut dans sa prochaine 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.

Meilleure réponse

Selon les notes de version de Bionic Beaver :

Python 2 n'est plus installé par défaut. Python 3 a été mis à jour vers 3.6. Il s'agit de la dernière version LTS à inclure Python 2 dans main.

Et la déclaration ci-dessus est vraie. Python 2 n'est pas installé par défaut dans 18.04 et les versions publiées par la suite. Ubuntu a déjà déplacé la quasi-totalité de ses projets de Python 2 vers Python 3. Par exemple, selon les notes de version de Disco Dingo :

Samba a été mis à jour vers la version 4.10.x, et l'un des grands changements ici est python3 Support. Dans Disco, samba et ses dépendances sont toutes en python3 uniquement maintenant, à l'exception de tdb. tdb construit toujours un package python2, à savoir python-tdb, mais tous les autres, y compris samba lui-même, sont uniquement python3.

De plus, même avant la sortie d'Ubuntu 18.04, Ubuntu/Canonical a commencé à demander aux développeurs de passer à Python 3 car la fin est proche . À partir de Python - Wiki Ubuntu :

Tous les développements pilotés par Ubuntu/Canonical devraient cibler Python 3 dès maintenant, et tout nouveau code devrait être Python 3 uniquement. Si vous ne pouvez pas le faire à cause de votre pile de dépendances, parlons-en.

Il semble que Python 2 ait été installé intentionnellement sur votre système ou qu'il dépende d'un autre package dont le développeur n'a pas migré vers Python 3. Vous pouvez vérifier les packages que vous avez installés et qui dépendent de Python 2 en exécutant

apt rdepends python --installed

La raison pour laquelle Python 2 est invoqué lorsque python est exécuté réside dans l'un des historiques point de la PEP 394 — La commande "python" sur les systèmes de type Unix :

Le python la commande doit toujours invoquer Python 2 (pour éviter les erreurs difficiles à diagnostiquer lorsque le code Python 2 est exécuté sur Python 3).

Sur les versions plus récentes telles que 20.04, Ubuntu fournit deux packages :

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

Comme son nom l'indique, le précédent ferait python pour invoquer python2 et plus tard invoquera python3 . Si vous n'avez pas d'application dépendante de Python 2, vous pouvez installer python-is-python3 faire du python pour invoquer python3 . Alternativement, vous pouvez également modifier le shebang du script en /usr/bin/python3 créer un script pour utiliser directement python3 comme interprète.

En relation :Pouvez-vous installer un apk dans Ubuntu Touch ?
Ubuntu
  1. Comment changer de version de Python dans Ubuntu et Debian

  2. Comment installer Python sur Ubuntu 20.04 et 18.04 ?

  3. Pourquoi Apt ne met-il plus à jour le noyau ?

  4. Que va-t-il arriver à l'environnement de bureau Unity et à la version par défaut d'Ubuntu ?

  5. Pourquoi le navigateur Chromium est-il toujours à la version 53 pour Ubuntu 14.04 Trusty Tahr ?

Comment changer le terminal par défaut dans Ubuntu

Comment obtenir la dernière version de vim sur Ubuntu 20.04 ?

Comment installer Python 3.x et PIP 3 sur Ubuntu 20.04 LTS

Comment installer Python 2.7 sur Ubuntu 20.04 LTS

Comment installer Python 2.7 &PIP2 sur Ubuntu 20.04 LTS Linux

Comment installer la dernière version de GCC sur Ubuntu 20.04 ?