Dado que python3es la versión predeterminada de Python en Ubuntu 18.04 y python2no se enviará por defecto en una nueva instalación de Ubuntu 18.04, ¿cómo puedo hacer la python3predeterminada después de una actualización a Ubuntu 18.04 (desde 16.04)? Actualmente, después de la actualización python2, el valor predeterminado sigue siendo (por ejemplo, el pythoncomando dirige a python2etc.). Sin embargo, purgar el pythonpaquete dará como resultado la eliminación de demasiados paquetes que dependen de él, por lo que esta no es una opción aquí.
Idealmente, quiero eliminar la python2dependencia tanto como sea posible. Tal vez el proceso de actualización podría diseñarse de tal manera que verifique todos los paquetes, si realmente dependen de las python2dependencias y, por lo tanto, recolecta todas las python2dependencias que podrían ser reemplazadas por una python3dependencia equivalente (que luego se resolverá con la actualización).

Respuestas:
Esta publicación es un poco antigua, pero creo que existe una mejor alternativa: ingresar
update-alternatives. Lo siguiente establecerá su/usr/bin/pythonvalor predeterminado en 2.7 pero tendrá 3.6 disponible cuando lo desee:La prioridad más alta aquí se usa como la opción "automática",
/usr/bin/pythonpero puede cambiar fácilmente al ejecutarlasudo update-alternatives --config python.fuente
python. Solíasudo update-alternatives --remove-all pythoneliminar todas las python, y luego agregué la única python que quiero usarsudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 10. También es bueno sabersudo update-alternatives --list pythonqué es qué.sudo apt install python3-pipysudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 10Para eliminar completamente python2, debe purgar el
python2.x-minimalpaquete que se realiza mediantereemplazando x con la versión exacta de python 2 en su sistema. Pero asegúrese de ver qué otros paquetes se eliminan, ya que es posible que haya llevado paquetes que todavía dependen de python 2 incluso después de la actualización, y esos paquetes también se desinstalarán y dejarán de funcionar.
No existe un intérprete de python 'predeterminado' porque solo depende de a qué archivo real
/usr/bin/pythonapunta, para cambiar esto a python use ellncomando para actualizar el enlace, por ejemplo, digamos que desea que apunte a python 3.6Alternativamente, si solo quiere esto para su usuario, puede configurarlo como su alias en su
.bashrc, para hacerlo, abrir~/.bashrcen el editor de su elección y agregar la siguiente líneafuente
python2dependencia utilizando su valor predeterminadopython3dependencias / paquetes.En mi 16.04
/usr/bin/pythones solo un enlace,/usr/bin/python2.7así que supongo que solo tendrías que cambiar este enlace para señalar/usr/bin/python3.x(con el adecuado,xpor supuesto).fuente
/usr/bin/pythona/usr/bin/python3, que es un enlace a la versión más reciente python3 instalado. O simplemente un alias o una función en tu~/.bashrc. Toneladas de opciones ;-)python2mi sistema (como es el caso predeterminado al instalar un ubuntu 18.04 nuevo, dondepython3está predeterminado ypython2no está instalado por defecto)python2. Parece que muchos otros paquetes dependen de ello. ¿Tiene alguna desventaja al mantenerpython2instalado?python2instalado, si es realmente necesario, pero quiero establecerlo claramentepython3como predeterminado, es decir, eliminarlo con lapython2mayor frecuencia posible (y una instalación limpia de Ubuntu 18.04 demuestra que esto es posible).