Comment changer la version Python sur Linux en utilisant Pyevn

Comment changer la version Python sur Linux en utilisant Pyevn

Avez-vous besoin d'exécuter un logiciel qui nécessite une version différente de Python de celle que vous avez installée sur votre système? Il existe plusieurs façons de résoudre ce problème, mais le plus facile s'appuie sur un outil appelé Pyenv. Discutons brièvement de ce que fait PYENV et pourquoi vous devriez l'utiliser avant d'expliquer exactement ce que vous devez faire pour changer la version Python par défaut avec.

Qu'est-ce que Pyenv et comment ça marche?

Pyenv est un outil de gestion de version Python fabriqué à partir de scripts de coquille pure, ce qui signifie qu'il ne dépend pas de Python. C'est bien parce que la dernière chose que vous voulez est de polluer votre environnement en installant un outil qui est censé vous aider à mieux le gérer.

La beauté de Pyenv vient du fait qu'elle ajoute simplement un répertoire en haut de votre chemin $, une variable qui indique au système d'exploitation Linux où chercher des exécutables, comme Python. Ce nouveau répertoire contient V un exécutable léger qui passe votre commande à Pyenv.

Vous pouvez utiliser la commande suivante pour afficher votre chemin $ actuel:

$ echo $ chemin

Vous devriez voir plusieurs répertoires séparés par des Colons:

/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / jeux: / usr / local / jeux

Pour rendre la sortie plus agréable, vous pouvez utiliser une version plus sophistiquée de la commande ci-dessus:

$ echo -e $ path //: / \\ n
/ usr / local / sbin
/ usr / local / bac
/ usr / sbin
/ usr / bin
/ sbin
/poubelle
/ usr / jeux
/ usr / local / jeux

Lorsque vous utilisez la commande Python pour lancer un logiciel, le système d'exploitation passe par les répertoires de la variable de chemin $ de haut en bas jusqu'à ce qu'il en trouve un contenant l'exécutable pertinent.

Pour voir rapidement quel répertoire est, utilisez la commande où est:

$ où est python
/ usr / bin / python

La commande python -v peut vous dire quelle version de Python est installée:

$ python -v
Python 2.7.18

Pour vous permettre d'utiliser n'importe quelle version de Python que vous voulez sans jouer avec celle qui est venue installée avec votre système d'exploitation, Pyenv manipule facilement la variable Path, vous permettant de changer facilement la version Python globale sur une base par utilisateur. De plus, vous pouvez également utiliser des versions spécifiques de Python pour des projets individuels ou définir une version particulière de Python uniquement pour votre session de shell actuelle.

Comment installer pyenv?

Avant d'installer PYENV lui-même, vous devez vous assurer qu'il n'y a pas de dépendances du système non satisfaites:

$ sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev git wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

Une fois cela fait, vous pouvez utiliser le programme d'installation automatique pour installer PYENV sur votre système Linux:

$ curl https: // pyenv.Courir | frapper

Ensuite, vous devez ajouter les lignes suivantes à votre ~ /.bashrc ou fichier de configuration équivalent si vous utilisez un shell différent de Bash:

Export Path = "$ home /.pyenv / bac: $ path "
eval "$ (pyenv init -)"
eval "$ (pyenv virtualenv-init -)"

Ne t'inquiète pas; Le programme d'installation automatique vous dira exactement ce que vous devez ajouter et où. Enfin, vous pouvez redémarrer votre coquille (fermez votre terminal) et vérifier que PYENV a été installé avec succès en affichant sa version actuelle:

$ pyenv --version
pyenv 2.2.4

Comment changer la version python à l'aide de pyenv?

Pour changer la version Python à l'aide de Pyenv, vous devez d'abord installer au moins une version de Python à l'aide de la commande d'installation de Pyenv. Tapez simplement la version souhaitée après la commande:

$ pyenv installer 3.dix.2

Pour afficher une liste de toutes les versions disponibles, procédez comme suit:

$ Pyenv Install - Liste

Il y a beaucoup de versions différentes à choisir, donc nous ne les copierons pas et ne les coller ici pour épargner votre roue de défilement l'effort qu'il faudrait pour les traverser tous.

Étant donné que la commande Python Print Version (Python -V) que nous avons utilisée plus tôt dans cet article ne vous dirait que ce qu'est la version System Python, vous devez utiliser la commande Pyenv Versions pour voir quelles versions sont maintenant disponibles pour Pyenv:

$ versions pyenv
* Système (défini par / home / david /.pyenv / version)
2.7.17
3.7.dix
3.dix.2

Comme vous pouvez le voir, Pyenv est maintenant au courant de trois versions de Python: la version système (2.7.18 Dans notre cas), 2.7.17, 3.7.10 et 3.dix.2.

Désormais, le changement de version Python sur la base globale, locale ou du shell est une question de commande unique:

$ pyenv global 2.7.17
$ pyenv local 3.7.dix
$ pyenv shell 3.dix.2

Dans notre cas, nous avons utilisé la commande globale pour rétrograder Python version 2.7.18 à la version 2.7.17. Pour vérifier que nous avons accompli le résultat souhaité, nous pouvons utiliser deux commandes familières:

$ versions pyenv
système
* 2.7.17 (Set by / Home / David /.pyenv / version)
3.dix.2
3.7.dix
et
$ python -v
Python 2.7.17

C'est à quel point il est facile de rétrograder la version Python en utilisant Pyenv! Après un certain temps, vous voudrez peut-être supprimer quelques versions de Python dont vous n'avez plus besoin. La commande suivante vous permet de faire exactement cela:

$ pyenv désinstaller

Vous pouvez voir des commandes PYENV plus utiles en tapant une aide pyenv dans le terminal. Nous vous recommandons également de lire la documentation officielle sur GitHub pour mieux comprendre comment Pyenv fonctionne sous le capot.

Conclusion

La commutation ou la rétrogradation de la version Python est quelque chose pratiquement tous les développeurs et même certains utilisateurs avancés de Linux doivent faire à un moment donné. Heureusement, des outils comme Pyenv rendent la tâche sans effort, vous permettant d'atteindre l'objectif souhaité avec quelques commandes simples.