7 votes

Pourquoi je ne peux pas utiliser update-alternatives pour sélectionner Python 2 ou 3?

Y a-t-il une raison particulière pour laquelle update-alternatives ne fonctionne pas avec Python alors qu'Ubuntu est livré avec différentes versions?

14voto

enedil Points 982

La raison est que les versions de python ne sont pas entièrement compatibles. Si vous définissez la version 3.3 comme étant votre version par défaut, les applications créées pour la version 2.7 pourraient ne pas fonctionner.

-3voto

Roy Points 1

Ou peut-être que vous le pouvez.

Note importante : La solution présentée ci-dessous (avec update-alternatives) peut endommager votre système. Si quelque chose se casse, essayez de le réparer et de conserver python 3, signalez la correction que vous avez apportée sur les sites de rapports de bug appropriés et aidez la communauté à grandir ; ou retournez à python 2. À la fin de la réponse, j'ajouterai une commande simple pour revenir en arrière au cas où vous en auriez besoin.

Si vous voulez simplement changer python pour votre propre utilisateur, et non le système, vous pouvez utiliser un alias.

Solution 1 : alias

Ajoutez cette ligne dans votre fichier ~/.bashrc ou ~/.bash_aliases :

alias python=python3

Et voilà. Vous n'avez pas besoin de lire ci-dessous.

Solution 2 : update-alternatives

Si l'alias n'est pas ce que vous recherchez, et que vous voulez vraiment changer la configuration par défaut de tout le système, continuez à lire.

Vérifiez d'abord votre version de python :

# python -V
Python 2.7.13

Utilisez ces commandes pour installer les alternatives (exécutez en tant que root ou utilisez sudo)

# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
# update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2

Ensuite, configurez la version avec (encore une fois, exécutez également en tant que root ou utilisez sudo) :

$ sudo update-alternatives --config python
Il y a 2 choix pour l'alternative python (fournissant /usr/bin/python).

  Sélection    Chemin                Priorité   Status
-----------------------------------------------------------
* 0            /usr/bin/python3.5   2         en mode automatique
  1            /usr/bin/python2.7   1         en mode manuel
  2            /usr/bin/python3.5   2         en mode manuel

Appuyez sur  pour conserver le choix actuel[*], ou tapez le numéro de sélection : 2

Maintenant, vérifiez la version :

# python -V
Python 3.5.3

Lorsque vous exécutez la commande ci-dessus, vous pouvez choisir le numéro de sélection : 0 ou 2 pour sélectionner python 3. Si les choses se cassent, exécutez à nouveau et choisissez le numéro 1 pour revenir à python 2.


Bonne lecture :

Déclaration python3

Hack-a-Day

Actualités The Register

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X