GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Por qué Python 2.7 sigue siendo la versión predeterminada de Python en Ubuntu?

De acuerdo con la documentación oficial de Python, el soporte de Python2.7 terminará en un futuro cercano.

DESAPROBACIÓN:Python 2.7 llegará al final de su vida útil el 1 de enero de 2020. Actualice su Python, ya que Python 2.7 no se mantendrá después de esa fecha. Una versión futura de pip dejará de ser compatible con Python 2.7. Puede encontrar más detalles sobre la compatibilidad con Python 2 en pip en https://pip.pypa.io/en/latest/development/release-process/#python-2-support

¿Por qué Ubuntu no usa Python3 como predeterminado en su próxima versión?

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

Mejor respuesta

Según las notas de lanzamiento de Bionic Beaver:

Python 2 ya no está instalado de forma predeterminada. Python 3 se ha actualizado a 3.6. Esta es la última versión de LTS que incluye Python 2 en main.

Y la afirmación anterior es cierta. Python 2 no está instalado de forma predeterminada en 18.04 y las versiones lanzadas después de eso. Ubuntu ya ha movido casi todos sus proyectos de Python 2 a Python 3. Por ejemplo, según las notas de lanzamiento de Disco Dingo:

Samba se actualizó a la versión 4.10.x, y uno de los grandes cambios aquí es python3 apoyo. En Disco, samba y sus dependencias son todas python3 solo ahora, con la excepción de tdb. tdb todavía crea un paquete python2, a saber, python-tdb, pero todos los demás, incluido el propio samba, son solo python3.

Además, incluso antes del lanzamiento de Ubuntu 18.04, Ubuntu/Canonical comenzó a pedirles a los desarrolladores que cambiaran a Python 3 porque el final está cerca. . De Python – Wiki de Ubuntu:

Todo el desarrollo impulsado por Ubuntu/Canonical debería apuntar a Python 3 en este momento, y todo el código nuevo debería ser solo para Python 3. Si no puede hacer esto debido a su pila de dependencias, hablemos.

Parece que en su sistema Python 2 se instaló intencionalmente o puede ser una dependencia de algún otro paquete cuyo desarrollador no se ha movido a Python 3. Puede verificar los paquetes que ha instalado que dependen de Python 2 ejecutando

apt rdepends python --installed

La razón por la que se invoca Python 2 cuando python se ejecuta reside en el de los históricos punto de PEP 394 — El comando "python" en sistemas similares a Unix:

El python el comando siempre debe invocar Python 2 (para evitar errores difíciles de diagnosticar cuando el código de Python 2 se ejecuta en Python 3).

En versiones más recientes, como 20.04, Ubuntu ofrece dos paquetes:

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

Como sugiere el nombre, el anterior haría python para invocar python2 y luego invocará python3 . Si no tiene una aplicación que dependa de Python 2, puede instalar python-is-python3 para hacer python para invocar python3 . Alternativamente, también puede editar el shebang del script a /usr/bin/python3 para hacer script para usar directamente python3 como intérprete.

Relacionado:¿Puedes instalar un apk en Ubuntu Touch?
Ubuntu
  1. Cómo cambiar la versión de Python en Ubuntu y Debian

  2. ¿Cómo instalar Python en Ubuntu 20.04 y 18.04?

  3. ¿Por qué Apt ya no actualiza el kernel?

  4. Por qué Ubuntu es el mejor para la gestión de servidores

  5. Cómo configurar la puerta de enlace predeterminada en Ubuntu

Cómo cambiar la terminal predeterminada en Ubuntu

¿Cómo obtener la última versión de vim en Ubuntu 20.04?

Cómo instalar Python 3.x y PIP 3 en Ubuntu 20.04 LTS

Cómo instalar Python 2.7 en Ubuntu 20.04 LTS

Cómo instalar Python 2.7 y PIP2 en Ubuntu 20.04 LTS Linux

¿Cómo instalar la última versión de GCC en Ubuntu 20.04?