Causes lorsque la version de Python ne peut pas être modifiée à l'aide de pyenv

Contexte

Étant donné que le support de python2 se terminera fin 2019, nous avons décidé d'introduire pyenv, qui vous permet de basculer facilement entre les versions de python. Cependant, je suis un peu tombé sur le changement de version avec pyenv, je vais donc résumer les principales raisons pour lesquelles le changement de version n'est pas possible. Article sur la fin du support de python2 https://news.mynavi.jp/article/20191118-924132/

environnement

MacOS Catalina 10.15.2 Homebrew 2.2.2 pyenv 1.2.16

Cause de l'impossibilité de changer de version

1. Le chemin de pyenv ne passe pas

Je l'ai installé avec homebrew pour installer pyenv comme suit.

Installez pyenv


$ brew install pyenv

L'installation s'est terminée avec succès et j'ai pensé à installer python3.7.6 avec pyenv, mais pour une raison quelconque, on m'a dit que pyenv n'existe pas. Normalement, lors de l'installation avec homebrew, un lien symbolique est automatiquement créé dans / usr / local / bin et le chemin passe, mais à ce moment-là, le chemin n'est pas passé pour une raison quelconque. Apparemment, c'était parce que j'avais supprimé l'ancienne version de pyenv qui était préinstallée ou que le lien n'était pas automatiquement publié. Par conséquent, lorsque j'ai recollé le lien avec la commande homebrew, le chemin de pyenv est maintenant passé.

Coller le lien avec l'infusion


$ brew link pyenv
$ pyenv --version
pyenv 1.2.16

2. Je n'ai pas changé le chemin de la commande python

Ensuite, j'ai installé python3 avec pyenv et changé la version de 2 à 3. Quand j'ai vérifié la version avec la commande pyenv, c'était 3.7.6, mais quand j'ai vérifié la version avec la commande python, c'était 2.7.16, et pour une raison quelconque, je ne pouvais pas changer la version.

changement de version de python


$ python --version
Python 2.7.16
#Vérifiez la version installable
$ pyenv install --list
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4.0
  2.4.1
  2.4.2
・ ・ ・
# python3.7.Installer 6
$ pyenv install 3.7.6
#Vérifiez la version installée
$ pyenv versions
* system
  3.7.6
#Version 3.7.Changer en 6
$ pyenv global 3.7.6
$ pyenv versions
  system
* 3.7.6
#Vérifier la version
$ python --version 
Python 2.7.16

J'ai donc vérifié le chemin que la commande python regarde. Ensuite, la destination était / usr / bin / python. Si vous souhaitez utiliser python dont la version est contrôlée par pyenv, J'ai dû changer le chemin de destination de la commande en ~ / .pyenv / shims / python.

Changer le chemin de destination de la commande python


$ which python
/usr/bin/python
$ eval "$(pyenv init -)"
$ which python
~/.pyenv/shims/python
$ python --version
Python 3.7.6

J'ai pu changer la version en toute sécurité.

Résumé

Grâce à ce travail de changement de version de python, j'ai senti que la gestion des versions du langage de programmation était inattendue gênante. Cependant, non seulement python mais tous les langages de programmation sont fréquemment mis à jour. Et tout contenu doit être maintenu et adapté à la nouvelle version au fur et à mesure que le harson change. Dans cet esprit, j'ai senti que j'avais besoin d'un outil comme pyenv qui pourrait facilement changer la version. Lors de la création de nouveau contenu, il semble important de considérer d'abord un mécanisme qui permet de gérer facilement la version du langage de programmation en même temps que l'installation du langage de programmation.

Matériel de référence

Comment installer et utiliser pyenv, que faire si vous ne pouvez pas changer de version de Python https://qiita.com/koooooo/items/b21d87ffe2b56d0c589b [python] Comprendre comment pyenv change de version https://akamist.com/blog/archives/2610 À propos du lien dans Homebrew https://hacknote.jp/archives/23816/

Recommended Posts

Causes lorsque la version de Python ne peut pas être modifiée à l'aide de pyenv
Changer la version de python à l'aide de pyenv
[Python] Soyez prudent lorsque vous utilisez print
"Solution temporaire" lorsque pip ne peut pas être mis à jour [Python]
Enquête lorsque l'importation ne peut pas être effectuée avec python
Remarque Python: lorsque la commande pip ne peut pas être utilisée
Notes minimales lors de l'utilisation de Python sur Mac (édition pyenv)
Lorsque l'USB n'a pas pu être formaté
Lorsque pydub ne peut pas être installé
Options lors de l'installation de bibliothèques qui ne peuvent pas être envoyées dans pyenv
Solution lorsque l'image ne peut pas être affichée avec tkinter [python]
Notez les liens qui peuvent être utiles lors de l'utilisation de Python, Selenium2
Scripts pouvant être utilisés lors de l'utilisation de Bottle en Python
Liste des bibliothèques à installer lors de l'installation de Python à l'aide de Pyenv
Précautions lors de l'utilisation de Pit avec Python
[Python] Mémo d'erreur et de solution lors de l'utilisation de venv avec pyenv + anaconda
Remarques sur l'installation de Python à l'aide de PyEnv
Installer Python sur CentOS à l'aide de Pyenv
Précautions lors de l'utilisation de phantomjs de python
Lors de l'utilisation de MeCab avec python dans virtualenv
Installez Python sur CentOS en utilisant pyenv
Précautions lors de l'utilisation de six avec Python 2.5
Lors de l'utilisation d'expressions régulières en Python
Traitement d'exécution périodique lors de l'utilisation de tkinter [Python3]
Ce que Rubyist doit savoir lors de l'utilisation de pyenv
Placement de Fabicon (lors de l'utilisation de Python, Flask, Heroku)
[python, multitraitement] Comportement des exceptions lors de l'utilisation du multitraitement
Le module Python avec "- (trait d'union)" ne peut pas être supprimé
Solution lorsque aws-cli ne peut pas être exécuté dans l'environnement virtuel de Mac (après l'installation de Python 3.8)
Mémo de correspondance lorsque la touche de direction ne peut pas être utilisée dans la ligne de commande python
Je ne peux pas créer de projet avec Python3.5 (Windows) + django1.7.1.
Lorsque vous ne pouvez pas dessiner une carte de contour avec APLpy
[Linux] Lorsque "| (pipe)" ne peut pas être frappé sur CentOS7
Installez Python 3.8.6 sur macOS BigSur à l'aide de pyenv
paramètres d'environnement python (virtualenv + pip ne peut pas être effectué)
Encodage de caractères lors de l'utilisation du module csv de python 2.7.3
PIL ne peut pas être installé par virtualenv avec pyenv
Qu'utilisez-vous lorsque vous testez avec Python?
J'obtiens une erreur lorsque j'essaie d'élever Python à la série 3 en utilisant pyenv dans Catalina