Changer la version de python facilement avec pyenv

Mis à jour le lundi 27 septembre 2021 par johackim

Pour changer de version de Python facilement, de la même manière que nvm pour NodeJS, il existe l'outil pyenv.

Installation de pyenv

Pour l'installer, exécutez les commandes suivantes en provenance de ce dépôt Github :

curl https://pyenv.run | bash
echo 'export PATH="$PATH:$HOME/.pyenv/bin"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc

Utilisation de pyenv

Pour installer une nouvelle version de Python :

pyenv install -v 3.7.0

Pour switcher sur cette nouvelle version :

pyenv global 3.7.0
python -V
# Python 3.7.0

Pour revenir sur la version python de notre système :

pyenv global system

(Facultatif) Fix temporaire

J'ai un souci avec pip qui me renvoie une erreur : ~/.pyenv/pyenv.d/exec/pip-rehash/pip: line 20: 38799 Segmentation fault (core dumped) "$PYENV_COMMAND_PATH" "$@".

Pour régler le problème je commente une ligne du fichier ~/.pyenv/versions/3.7.0/bin/pip3.7 :

# sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])

Références :