Quiero cambiar entre las versiones 2 y 3 de Python. Ambos están instalados

8

Si hago doble clic en un archivo .py, se abre "IDLE" (¿hay otra forma de abrir "IDLE"?), Pero la versión predeterminada de Python es la 2 cuando selecciono "ejecutar". Quiero cambiar PERMANENTEMENTE la versión predeterminada a 3 para no tener que cambiar de versión cada vez que enciendo mi Raspberry Pi.

He buscado esto sin éxito. La mayoría de las respuestas son anteriores a la inclusión de Python 3 y explican cómo instalar 3 pero NO cómo cambiar el valor predeterminado, de ahí esta pregunta.

John Foggitt
fuente
¿Intentaste desinstalar Python 2?
Bex
77
@Bex, no desinstalaría py2 a menos que esté seguro de que no es necesario en otro lugar. Todavía hay muchos scripts que se ejecutan en 2.7.
Ghanima

Respuestas:

3

IDLEgeneralmente se instala junto con python, por lo que debería tener en idle3alguna parte. Esto es lo que debes hacer:

  1. Trate de correr idle3, idle3.3, idle3.4etc., en el terminal para asegurarse de que lo tienes. Asumamos que tienesidle3

  2. Cambie la asociación de .pyarchivos para que se abran idle3cuando se hace doble clic. Esto depende de su administrador de archivos, por lo general, haga clic derecho -> "Abrir con ..." hace el truco.

Nuevamente, jugar con enlaces simbólicos no es una buena idea, porque los scripts que comienzan con #!/usr/bin/pythonesperan ejecutarse con python2.

Dmitry Grigoryev
fuente
-2

una forma adecuada de hacerlo es usar las alternativas de actualización de Debain

UPD: las personas son demasiado perezosos para jyst R ead T que M ine M anual:

update-alternatives --remove-all python
update-alternatives --install /usr/bin/python python /usr/python2/bin/python2 10
update-alternatives --install /usr/bin/python python /usr/python3/bin/python3 20

Esa es la manera que debe ser. Después de eso para cambiar las cosas:

update-alternatives --set python "/usr/python2/bin/python2"

para seleccionar el que necesitas. Que no va a romper PEP-394 , porque python2y python3los binarios estarán donde deben estar en múltiples versionado instalar: en las instalaciones prefijos ( usr/python2y /usr/python3respectivamente)

Alexey Vesnin
fuente
3
No hay un grupo de enlaces para Python en update-alternatives.
n.st
1
Si bien esto puede responder teóricamente la pregunta, sería preferible incluir aquí las partes esenciales de la respuesta y proporcionar el enlace para referencia.
Steve Robillard
1
update-alternativesson solo una buena manera de rastrear enlaces simbólicos en su sistema, por lo que al final su solución encontrará el mismo problema que @Milliways ': reemplazará /usr/bin/python, lo que es una violación de PEP-394.
Dmitry Grigoryev
1
@ n.st Así que necesitas crearlo =) Esa es la idea: sin desorden de paquete, modo de cambio estándar
Alexey Vesnin
1
PEP-394 dice específicamente que /usr/bin/pythondebería apuntar a python2, porque muchos scripts heredados que comienzan #!/usr/bin/pythonsolo se ejecutan correctamente con python2.
Dmitry Grigoryev