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 | bashecho 'export PATH="$PATH:$HOME/.pyenv/bin"' >> ~/.bashrcecho 'eval "$(pyenv init --path)"' >> ~/.bashrcecho 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrcsource ~/.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 :