Recherche de site Web

pyenv - Installer plusieurs versions de Python pour un projet spécifique


Gérer plusieurs versions de Python sur un système Linux n’est pas une tâche facile, surtout pour les débutants. Parfois, la situation s’aggrave même lorsque vous souhaitez développer et exécuter plusieurs projets avec différentes versions de Python sur le même serveur. Cependant, cela ne devrait pas être le cas si vous employez pyenv.

Lire aussi : Comment installer la dernière version de Python 3.6 sous Linux

Qu’est-ce que Pyenv ?

Pyenv est un outil simple, puissant et multiplateforme pour la gestion de plusieurs versions de Python sur les systèmes Linux, qui sont utilisés pour.

  • Basculement de la version globale de Python par utilisateur.
  • définition de la version locale de Python par projet.
  • Gestion des environnements virtuels créés par anaconda ou virtualenv.
  • Remplacement de la version de Python par une variable d’environnement.
  • Recherche de commandes à partir de plusieurs versions de Python et plus encore.

Comment fonctionne pyenv ?

En règle générale, une seule version par défaut de Python est utilisée pour exécuter toutes vos applications, à moins que vous ne spécifiiez explicitement la version que vous souhaitez utiliser dans l’application. Mais pyenv implémente un concept simple d’utilisation de shims (exécutables légers) pour passer votre commande à la bonne version de Python que vous souhaitez utiliser, lorsque vous avez plusieurs versions installées.

Ces shims sont insérés par pyenv dans un répertoire en face de votre PATH. Ainsi, lorsque vous exécutez une commande Python, elle est interceptée par le shim approprié et passée à pyenv, qui établit ensuite la version de Python spécifiée par votre application et transmet vos commandes à l’installation légitime de Python. Ceci est un aperçu du fonctionnement de pyenv.

Dans cet article, nous allons montrer comment installer la dernière version de pyenv sous Linux. Nous démontrerons également les trois premiers cas d’utilisation énumérés ci-dessus.

Comment installer Pyenv sous Linux

1. Installez d’abord tous les packages requis pour l’installation de différentes versions de Python à partir des sources à l’aide de la commande suivante sur votre distribution Linux respective.

------------ On Debian/Ubuntu/Linux Mint ------------ 
sudo apt install curl git-core gcc make zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev

------------ On CentOS/RHEL ------------
yum -y install epel-release
yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel

------------ On Fedora 22+ ------------
yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel

2. Ensuite, récupérez la dernière arborescence source pyenv dans son référentiel Github et installez-la dans le chemin $HOME/.pyenv à l’aide de la commande suivante.

$ git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv

3. Vous devez maintenant définir la variable d’environnement PYENV_ROOT pour qu’elle pointe vers le chemin où vous avez installé pyenv et l’exporter. Ajoutez ensuite $PYENV_ROOT/bin à votre PATH pour exécuter l’utilitaire de ligne de commande pyenv comme n’importe quelle autre commande système.

Vous devez également activer les shims ainsi que l’autocomplétion en ajoutant l’init pyenv à votre shell. Faites toutes ces choses dans votre fichier de démarrage bash $HOME/.bashrc, comme indiqué.

$ vim $HOME/.bashrc 

Copiez et collez les lignes suivantes à la fin de ce fichier.

## pyenv configs
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

4. Une fois que vous avez effectué les modifications ci-dessus, vous pouvez soit sourcer $HOME/fichier .bashrc, soit redémarrer le shell comme indiqué.

$ source $HOME/.bashrc
OR
exec "$SHELL"

Comment installer plusieurs versions de Python sous Linux

5. À ce stade, vous devriez être prêt à commencer à utiliser pyenv. Avant d’installer une version de Python, vous pouvez afficher toutes les versions disponibles à l’aide de cette commande.


pyenv install -l

6. Vous pouvez maintenant installer plusieurs versions de Python via pyenv, par exemple.

$ pyenv install 3.6.4
pyenv install 3.6.5

7. Pour lister toutes les versions de Python disponibles pour pyenv, exécutez la commande suivante. Cela n’affichera que les versions installées via pyenv lui-même.

$ pyenv versions

8. Vous pouvez vérifier la version globale de Python avec la commande suivante, à ce moment-là, la version par défaut devrait être celle définie par le système, et non pyenv.

$ pyenv global

Vous pouvez définir la version globale de python à l’aide de la commande pyenv.

$ pyenv global 3.6.5
pyenv global

9. Vous pouvez maintenant définir la version locale de Python par projet, par exemple, si vous avez un projet situé dans $HOME/python_projects/test, vous pouvez définir la version Python de celui-ci à l’aide de la commande suivante.

$ cd python_projects/test
pyenv local 3.6.5
pyenv version		#view local python version for a specific project 
OR
pyenv versions

10. Pyenv gère les environnements virtuels via le plugin pyenv-virtualenv qui automatise la gestion des environnements virtualenvs et conda pour Python sur Linux et d’autres systèmes de type UNIX.

Vous pouvez commencer par installer ce plugin à l’aide des commandes suivantes.

$ git clone https://github.com/yyuu/pyenv-virtualenv.git   $HOME/.pyenv/plugins/pyenv-virtualenv
source $HOME/.bashrc

11. Nous allons maintenant créer un environnement virtuel de test appelé venv_project1 sous un projet appelé project1 comme suit.

$ cd python_projects
mkdir project1
cd project1
pyenv virtualenv 3.6.5 venv_project1

12. Maintenant, lorsque vous listez toutes les versions de Python, vos environnements virtuels ainsi que leurs versions locales de python doivent également être répertoriés, comme le montre la capture d’écran.

$ pyenv versions

13. Pour activer un virtualenv, par exemple venv_project1, tapez la commande suivante.

$ pyenv activate venv_project1

Remarque : Vous pouvez obtenir le message ci-dessous lors de la première utilisation de la dernière version du plugin pyenv-virtualenv.

pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.

Ajoutez la ligne export PYENV_VIRTUALENV_DISABLE_PROMPT=1 dans votre fichier $HOME/.bashrc, où vous avez ajouté d’autres configurations pyenv, et sourcez le fichier pour simuler le comportement mis en avant.

14. Pour désactiver l’activateur virtualenv, exécutez cette commande.

$ pyenv deactivate

Pour plus d’informations, vous pouvez lister toutes les commandes pyenv à l’aide de la commande suivante.

$ pyenv commands

Pour plus d’informations, rendez-vous sur le dépôt Github pyenv : https://github.com/pyenv/pyenv

Lire aussi : Comment installer plusieurs versions de PHP pour plusieurs sites web

L’utilisation de pyenv est vraiment aussi simple que cela. Dans ce guide, nous avons montré comment l’installer, ainsi que certains de ses cas d’utilisation pour la gestion de plusieurs versions de python sur un système Linux. Utilisez le formulaire de commentaires ci-dessous pour poser des questions ou partager vos réflexions sur cet outil.

Articles connexes: