Dado que python3
es la versión predeterminada de Python en Ubuntu 18.04 y python2
no se enviará por defecto en una nueva instalación de Ubuntu 18.04, ¿cómo puedo hacer la python3
predeterminada 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 python
comando dirige a python2
etc.). Sin embargo, purgar el python
paquete 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 python2
dependencia 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 python2
dependencias y, por lo tanto, recolecta todas las python2
dependencias que podrían ser reemplazadas por una python3
dependencia 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/python
valor 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/python
pero puede cambiar fácilmente al ejecutarlasudo update-alternatives --config python
.fuente
python
. Solíasudo update-alternatives --remove-all python
eliminar 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 python
qué es qué.sudo apt install python3-pip
ysudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 10
Para eliminar completamente python2, debe purgar el
python2.x-minimal
paquete 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/python
apunta, para cambiar esto a python use elln
comando 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~/.bashrc
en el editor de su elección y agregar la siguiente líneafuente
python2
dependencia utilizando su valor predeterminadopython3
dependencias / paquetes.En mi 16.04
/usr/bin/python
es solo un enlace,/usr/bin/python2.7
así que supongo que solo tendrías que cambiar este enlace para señalar/usr/bin/python3.x
(con el adecuado,x
por supuesto).fuente
/usr/bin/python
a/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 ;-)python2
mi sistema (como es el caso predeterminado al instalar un ubuntu 18.04 nuevo, dondepython3
está predeterminado ypython2
no está instalado por defecto)python2
. Parece que muchos otros paquetes dependen de ello. ¿Tiene alguna desventaja al mantenerpython2
instalado?python2
instalado, si es realmente necesario, pero quiero establecerlo claramentepython3
como predeterminado, es decir, eliminarlo con lapython2
mayor frecuencia posible (y una instalación limpia de Ubuntu 18.04 demuestra que esto es posible).