Installation de multiples versions de Python sur CentOS et Ubuntu

python 3 et 2 sur centos ubuntu redhat debian

Python est l’un des langages de programmation les plus populaires utilisés aujourd’hui. De nombreux systèmes Linux sont fournis avec Python préinstallé, mais il s’agit souvent d’une ancienne version comme Python 2.7. Au fil des ans, de nouvelles versions de Python comme 3.8, 3.7, etc. ont été publiées avec de nouvelles fonctionnalités et améliorations importantes.

Cependant, cela peut poser problème si vous avez besoin d’une version spécifique de Python pour vos applications ou scripts. Par exemple, certaines applications peuvent nécessiter Python 2.7 tandis que d’autres ont besoin de Python 3.8.

La solution consiste à installer plusieurs versions de Python côte à côte sur votre système Linux. Cela vous permet de basculer entre les différentes versions pour assurer la compatibilité avec divers logiciels.

Dans ce guide complet, nous couvrirons les étapes pour installer plusieurs versions de Python sur CentOS et Ubuntu Linux. Les instructions fonctionnent pour toutes les versions de Python, y compris les dernières versions 3.x et 2.x.

Conditions préalables

Avant de commencer, assurez-vous que votre système est à jour avec les derniers paquets :

# CentOS/RHEL
$ sudo yum update
# Ubuntu/Debian
$ sudo apt update
$ sudo apt upgrade

Les versions 2.x et 3.x de Python peuvent coexister pacifiquement sur le même système. Nous devons simplement nous assurer qu’elles sont installées dans des répertoires séparés.

Les exemples ci-dessous utiliseront Python 3.8 et 2.7, mais vous pouvez substituer n’importe quelle version que vous souhaitez.

Installation de Python sur CentOS

Les versions récentes de CentOS et RHEL sont livrées avec Python 2 installé par défaut. Nous utiliserons le référentiel Software Collections (SCL) pour installer d’autres versions de Python si nécessaire.

Étape 1 – Installer les outils de développement

Nous avons besoin de git et des outils de développement pour générer Python à partir des sources :

$ sudo yum groupinstall "Development Tools"
$ sudo yum install git

Étape 2 – Installer Python 3 avec SCL

Tout d’abord, activez le référentiel SCL :

$ sudo yum install centos-release-scl

Maintenant, installez Python 3.8 :

$ sudo yum install rh-python38

Ceci installera Python 3.8 dans le répertoire /opt/rh/rh-python38.

Pour utiliser cette version de Python, nous devons l’activer avec :

$ scl enable rh-python38 bash

Vérifiez que vous avez maintenant Python 3.8 :

$ python --version

Quittez pour revenir à Python 2.7 du système avec :

$ exit

Étape 3 – Installer Python 2 à partir d’IUS

Le référentiel IUS fournit des versions mises à jour de Python 2.x pour CentOS.

Activez IUS avec :

$ sudo yum install https://repo.ius.io/ius-release-el7.rpm

Maintenant, installez Python 2.7 :

$ sudo yum install python27 

Vérifiez votre version de Python 2.7 :

$ python2.7 --version

Nous avons maintenant Python 3.8 et Python 2.7 installés sur CentOS !

Installation de Python sur Ubuntu

Ubuntu est livré avec Python 3 installé par défaut. Nous utiliserons le PPA deadsnakes pour installer d’autres versions de Python.

Étape 1 – Installer les outils de développement

Nous avons besoin d’outils de construction et d’autres dépendances pour compiler Python :

$ sudo apt update
$ sudo apt install build-essential libssl-dev libffi-dev python3-dev

Étape 2 – Installer les versions de Python

Ajoutez le PPA deadsnakes qui fournit plusieurs versions de Python :

$ sudo add-apt-repository ppa:deadsnakes/ppa

Maintenant, installez Python 3.8 et 2.7 :

$ sudo apt install python3.8 python2.7

Vérifiez que vous avez plusieurs versions de Python :

$ python3.8 --version
$ python2.7 --version

Nous avons maintenant Python 3.8 et 2.7 prêts à l’emploi !

Utilisation des environnements virtuels

Il est recommandé de créer des environnements virtuels pour vos projets plutôt que d’utiliser Python système. Cela permet de séparer les dépendances entre les applications.

Pour créer un environnement virtuel Python 3 :

$ python3.8 -m venv myprojectenv

Activez-le avec :

$ source myprojectenv/bin/activate

Lorsque vous avez terminé, désactivez l’environnement :

$ deactivate

Des environnements virtuels peuvent également être créés pour Python 2 :

$ python2.7 -m virtualenv myprojectenv

Cela vous permet de basculer facilement entre les versions de Python par projet, sans affecter l’ensemble du système.

Définir la version Python par défaut

Après avoir installé plusieurs versions de Python, python peut encore faire référence au Python système.

Pour changer la valeur par défaut pour tous les utilisateurs, ajustez les liens symboliques :

$ sudo rm /usr/bin/python 
$ sudo ln -s /usr/bin/python3.8 /usr/bin/python

Maintenant, python exécutera Python 3.8.

Pour revenir à Python 2 :

$ sudo rm /usr/bin/python
$ sudo ln -s /usr/bin/python2.7 /usr/bin/python

Pour un seul utilisateur, les liens symboliques peuvent être ajustés dans ~/.local/bin à la place :

$ rm ~/.local/bin/python
$ ln -s /usr/bin/python3.8 ~/.local/bin/python

Cela remplacera le défaut du système uniquement pour cet utilisateur.

Conclusion

Dans ce guide, nous avons couvert l’installation et la gestion de multiples versions de Python sur CentOS et Ubuntu. Voici un bref récapitulatif des points clés :

  • Utilisez les dépôts SCL et IUS sur CentOS pour installer des versions Python supplémentaires.
  • Ajoutez le PPA deadsnakes sur Ubuntu pour plusieurs versions de Python.
  • Créez des environnements virtuels pour isoler les dépendances entre les projets Python.
  • Ajustez les liens symboliques pour changer la version python par défaut globalement ou par utilisateur.

Vous avez maintenant le pouvoir d’utiliser la bonne version de Python pour vos différentes applications et scripts sur Linux ! La possibilité d’installer plusieurs versions côte à côte offre compatibilité et flexibilité.

Laisser un commentaire