Basculer entre les versions de python (ou d'un autre logiciel)

Postez ici toutes vos demandes d’assistance.
Répondre
Avatar du membre
cyrille
Administrateur du site
Messages : 12441
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Basculer entre les versions de python (ou d'un autre logiciel)

Message par cyrille »

Ce petit tutoriel explique rapidement comment basculer entre les versions de python.

Il se peut en effet qu'il soit nécessaire de "jouer" avec les versions de python afin de lancer des programmes en python version 2 ou 3 ou bien de sélectionner une version version précise de python 3 (3.10 ou 3.11 par exemple) .

Ce tutoriel explique cela pour python, mais ce sera le même schéma avec n'importe quel autre logiciel (firefox, etc.)

Tester la version de python en cours

Code : Tout sélectionner

python --version
Python 3.10.6
Ici, c'est dans la version 3.10.6 qui sera appelée au lancement de python.

Lister les versions disponibles sur le système

Code : Tout sélectionner

ls -l  /usr/bin/python*
lrwxrwxrwx 1 root root      24 févr. 17 12:20 /usr/bin/python -> /etc/alternatives/python
-rwxr-xr-x 1 root root 3592504 juil.  1  2022 /usr/bin/python2.7
lrwxrwxrwx 1 root root      10 déc.  31 12:35 /usr/bin/python3 -> python3.10
-rwxr-xr-x 1 root root 5921160 nov.  14 17:10 /usr/bin/python3.10
-rwxr-xr-x 1 root root 6890080 août  12  2022 /usr/bin/python3.11
-rwxr-xr-x 1 root root     960 janv. 25 09:29 /usr/bin/python3-futurize
-rwxr-xr-x 1 root root     964 janv. 25 09:29 /usr/bin/python3-pasteurize


Comment basculer sur un appel par défaut de python 2 plutôt que de python 3 ?

On utilise update-alternatives afin de sélectionner quelle version utiliser.

Lister les versions enregistrées par update-alternatives

Code : Tout sélectionner

sudo update-alternatives --list python
update-alternatives: error: no alternatives for python
Normal aucune entrée n'a encore été saisie

Ajouter une version de python
On inscrit la version de python 2.7

Code : Tout sélectionner

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode
La version 3.10

Code : Tout sélectionner

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 2

La version 3.11

Code : Tout sélectionner

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.11 3
On vérifie leur bonne entrée

Code : Tout sélectionner

sudo update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.10
/usr/bin/python3.11
Il ne reste plus qu'à sélectionner celle que l'on souhaite par défaut en saisissant son numéro.

Sélectionner la version adéquate

Code : Tout sélectionner

sudo update-alternatives --config python
Il existe 3 choix pour l'alternative python (qui fournit /usr/bin/python).

  Sélection   Chemin               Priorité  État
------------------------------------------------------------
  0            /usr/bin/python3.11   3         mode automatique
  1            /usr/bin/python2.7    1         mode manuel
* 2            /usr/bin/python3.10   2         mode manuel
  3            /usr/bin/python3.11   3         mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :
Exemple, si l'on saisit 1, on aura du python2.7

Vérification

Code : Tout sélectionner

python --version
Python 2.7.18
Autres méthodes pour vérifier les entrées enregistrées

Code : Tout sélectionner

update-alternatives --query python
Name: python
Link: /usr/bin/python
Status: manual
Best: /usr/bin/python3.11
Value: /usr/bin/python2.7

Alternative: /usr/bin/python2.7
Priority: 1

Alternative: /usr/bin/python3.10
Priority: 2

Alternative: /usr/bin/python3.11
Priority: 3

Et l'option "auto" ? si l'entrée est configurée sur l'option "auto" ce sera la dernière version de python qui sera appelée.

Code : Tout sélectionner

sudo update-alternatives --auto python
Supprimer une entrée

Code : Tout sélectionner

sudo update-alternatives --remove python /usr/bin/python3.11
Supprimer toutes les entrées

Code : Tout sélectionner

sudo update-alternatives --remove-all python
;)
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
tioker
modérateur
Messages : 990
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: Basculer entre les versions de python (ou d'un autre logiciel)

Message par tioker »

Merci Cyrille, ça me servira sûrement dans mes tests pour dépolyer mes programmes sur d'autres versions/OS.
Je mets ce sujet dans ma ToDoList. ;)
HP Victus 16: Mint 21.3 Cinnamon 6,0,4 + Windows 11 - Ryzen 5 5600H - NVIDIA GeForce GTX 1650 - Mem 16Go - SSD 512Go
pCloud Synchronisation en temps réel des 4 dossiers personnels

Répondre