Je veux basculer entre les versions 2 et 3 de Python. Les deux sont installés

8

Si je double-clique sur un fichier .py, il ouvre "IDLE" (existe-t-il une autre façon d'ouvrir "IDLE"?), Mais la version par défaut de python est 2 lorsque je sélectionne "run". Je veux changer PERMANENTEMENT la version par défaut à 3 pour ne pas avoir à changer de version chaque fois que j'allume mon Raspberry Pi.

J'ai cherché cela sans succès. La plupart des réponses sont antérieures à l'inclusion de Python 3 et expliquent comment installer 3 mais PAS comment changer la valeur par défaut, d'où cette question.

John Foggitt
la source
Avez-vous essayé de désinstaller python 2?
Bex
7
@Bex, je ne désinstallerais pas py2 sauf si vous êtes certain qu'il n'est pas nécessaire ailleurs. Il existe encore de nombreux scripts qui fonctionnent sur 2.7.
Ghanima

Réponses:

3

IDLEest généralement installé avec python, vous devriez donc avoir idle3quelque part. Voici ce que vous devez faire:

  1. Essayez d'exécuter idle3, idle3.3, idle3.4etc. dans le terminal pour vous assurer que vous avez. Supposons que vous ayezidle3

  2. Modifiez l'association de .pyfichiers des fichiers afin qu'ils soient ouverts idle3lorsque vous double-cliquez dessus. Cela dépend de votre gestionnaire de fichiers, généralement avec le bouton droit -> "Ouvrir avec ..." fait l'affaire.

Encore une fois, jouer avec des liens symboliques n'est pas une bonne idée, car les scripts commençant par #!/usr/bin/pythons'attendent à être exécutés avec python2.

Dmitry Grigoryev
la source
-2

une bonne façon de le faire est d'utiliser les alternatives de mise à jour de Debain

UPD: les gens sont trop paresseux pour jyst R ead T il F ine M anuel:

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

C'est comme cela devrait être. Après cela, pour changer les choses:

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

pour sélectionner celui dont vous avez besoin. Cela ne cassera pas PEP-394 , car python2et les python3binaires seront là où ils doivent être dans l'installation multi-version: dans les préfixes des installations ( usr/python2et /usr/python3respectivement)

Alexey Vesnin
la source
3
Il n'y a pas de groupe de liens pour Python dans update-alternatives.
n.st
1
Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien de référence.
Steve Robillard
1
update-alternativessont juste un bon moyen de suivre les liens symboliques dans votre système, donc à la fin votre solution rencontrera le même problème que @Milliways ': vous allez remplacer /usr/bin/python, ce qui est une violation de PEP-394.
Dmitry Grigoryev,
1
@ n.st Vous devez donc le créer =) C'est l'idée: pas de fouillis de paquet, mode de commutation standard
Alexey Vesnin
1
PEP-394 dit spécifiquement que cela /usr/bin/pythondevrait pointer vers python2, car de nombreux scripts hérités commençant par #!/usr/bin/pythonne fonctionnent correctement qu'avec python2.
Dmitry Grigoryev