Pyenv va nous permettre d'utiliser plusieurs versions concurrentes de python sur notre système Linux sans modifier la version par défaut :

Installation

installation des packages nécessaires

  • Pour que pyenv puisse fonctionner, il a besoin de certains packages, utilisez cette ligne pour les installer :
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

téléchargement de pyenv

  • Nous devons télécharger pyenv directement depuis le GitHub dans un répertoire accessible à tous.
  • déplacez vous dans le répertoire /usr/local/ et utilisez la commande suivante :
sudo git clone https://github.com/pyenv/pyenv.git /usr/local/pyenv
  • lorsque vous voudrez mettre à jour pyenv, retournez dans /usr/local/pyenv et utilisez la commande git :
git pull

Ajouter pyenv au bash

Afin de rendre facilement accessible pyenv pour tous les utilisateurs nous allons modifier le fichier /etc/bash.bashrc

sudo mcedit /etc/bash.bashrc

Ajoutez les lignes suivantes à la fin du fichier

export PATH="/usr/local/pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

N'oubliez pas de recharger votre bash avant de pouvoir utiliser la commande pyenv

Utilisation

installer une version de python

WARNING : pensez à toujours utiliser l'option --skip-existing - La version de python désirée sera installée dans le home de l'utilisateur qui lance la commande. - voici la commande pour installer par exemple la version 3.10.6 de python :

pyenv install 3.10.6 --skip-existing

utiliser une version spécifique de python dans un répertoire

  • Nous pouvons maintenant décider quelle version de python, nous allons utiliser par défaut dans un répertoire
  • pour se faire, utiliser la commande suivante (toujours pour la version choisie pour l'exemple) :
pyenv local 3.10.6
  • désormais quand nous allons créer un virtualenv avec *python3 -m venv venv notre environnement virtuel utilisera la version précedemment choisie