GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Perché Python 2.7 è ancora la versione predefinita di Python in Ubuntu?

Secondo la documentazione ufficiale di Python, il supporto per Python2.7 terminerà in un prossimo futuro.

DEPRECAZIONE:Python 2.7 raggiungerà la fine del suo ciclo di vita il 1° gennaio 2020. Aggiorna il tuo Python poiché Python 2.7 non verrà mantenuto dopo quella data. Una versione futura di pip abbandonerà il supporto per Python 2.7. Maggiori dettagli sul supporto di Python 2 in pip sono disponibili su https://pip.pypa.io/en/latest/development/release-process/#python-2-support

Perché Ubuntu non utilizza Python3 come predefinito nella loro prossima versione?

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

Migliore risposta

Secondo le note di rilascio di Bionic Beaver:

Python 2 non è più installato per impostazione predefinita. Python 3 è stato aggiornato alla 3.6. Questa è l'ultima versione LTS a includere Python 2 in main.

E l'affermazione di cui sopra è vera. Python 2 non è installato per impostazione predefinita in 18.04 e versioni successive. Ubuntu ha già spostato quasi tutti i suoi progetti da Python 2 a Python 3. Ad esempio, secondo le note di rilascio di Disco Dingo:

Samba è stato aggiornato alla versione 4.10.x e uno dei grandi cambiamenti qui è python3 sostegno. In Disco, samba e le sue dipendenze sono tutte python3 solo ora, ad eccezione di tdb. tdb costruisce ancora un pacchetto python2, ovvero python-tdb, ma tutti gli altri, incluso samba stesso, sono solo python3.

Inoltre, anche prima del rilascio di Ubuntu 18.04, Ubuntu/Canonical ha iniziato a chiedere agli sviluppatori di passare a Python 3 perché la fine è vicina . Da Python - Wiki di Ubuntu:

Tutto lo sviluppo guidato da Ubuntu/Canonical dovrebbe avere come target Python 3 in questo momento e tutto il nuovo codice dovrebbe essere solo Python 3. Se non puoi farlo a causa del tuo stack di dipendenze, parliamo.

Sembra che sul tuo sistema Python 2 sia stato installato intenzionalmente o potrebbe essere una dipendenza di qualche altro pacchetto il cui sviluppatore non è passato a Python 3. Puoi controllare i pacchetti che hai installato che dipendono da Python 2 eseguendo

apt rdepends python --installed

Il motivo per cui Python 2 viene invocato quando python è eseguito si trova in quello degli storici punto di PEP 394 — Il comando "python" su sistemi simili a Unix:

Il python il comando dovrebbe sempre invocare Python 2 (per evitare errori difficili da diagnosticare quando il codice Python 2 viene eseguito su Python 3).

Nelle versioni più recenti come 20.04, Ubuntu fornisce due pacchetti:

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

Come suggerisce il nome, il precedente avrebbe creato python per invocare python2 e in seguito invocherà python3 . Se non hai un'applicazione che dipenda da Python 2, puoi installare python-is-python3 per creare python per invocare python3 . In alternativa, puoi anche modificare lo shebang dello script in /usr/bin/python3 per creare script per utilizzare direttamente python3 come interprete.

Correlati:puoi installare un apk in Ubuntu Touch?
Ubuntu
  1. Perché Apt non aggiorna più il kernel?

  2. Cosa accadrà all'ambiente desktop Unity e alla versione predefinita di Ubuntu?

  3. Perché il browser Chromium è ancora alla versione 53 per Ubuntu 14.04 Trusty Tahr?

  4. Perché Ubuntu è il migliore per la gestione dei server

  5. Come impostare il gateway predefinito su Ubuntu

Come modificare il terminale predefinito in Ubuntu

Come ottenere l'ultima versione di vim su Ubuntu 20.04?

Come installare Python 3.x e PIP 3 su Ubuntu 20.04 LTS

Come installare Python 2.7 su Ubuntu 20.04 LTS

Come installare Python 2.7 e PIP2 su Ubuntu 20.04 LTS Linux

Come installare l'ultima versione di GCC su Ubuntu 20.04?