[PYTHON] [Note] Éléments à vérifier lorsqu'une boucle infinie se produit dans pyenv

Contexte

J'ai essayé d'installer anaconda pour installer la bibliothèque d'analyse de données en même temps, mais lorsque j'exécute la commande pip ou python tout en essayant d'installer anaconda avec pyenv (un package qui peut basculer entre plusieurs versions de Python), une boucle infinie se produit. Cela s'est produit. Je l'ai recherché dans "pyenv infinite loop" etc. et j'ai également fait référence à posté par a_yasui, mais au début de .bash_profile

PATH=$PATH:~/.pyenv/shims/
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

J'ai ajouté et vérifié le .bashrc, donc j'ai deviné que quelque chose d'autre n'allait pas.

environnement

OS: Mac OSX El Capitan 10.11.3 Environnement d'exécution: Terminal standard Mac Confirmé avec pyenv: Build 20151210, 20160202

Symptômes et solutions

Comme symptôme, lorsque j'exécute la commande pip etc., la commande boucle comme bash → readlink → bash, et l'exécution ne se poursuit pas. La solution était d'installer Python avec la commande pyenv install et d'appliquer python avec pyenv local orz. Premier,

>> which python
/Users/user/.pyenv/shims/python
>> which pip
/Users/user/.pyenv/shims/pip

Cependant, lorsque j'entre la commande pyenv version,

>> pyenv version
system (set by /Users/user/.pyenv/version)

J'ai remarqué que "Oh, je n'ai pas mis Python dans pyenv" parce qu'il était affiché uniquement.

// >> pyenv install -Vous pouvez vérifier la version installable avec l
>> pyenv install Python3.5.0 //Installation de Python
>> pyenv rehash //Rafraîchir pyenv
>> pyenv local Python3.5.0 //Application de python
>> pyenv global Python3.5.0 //Application de python

J'ai tapé et changé le Python à utiliser, puis j'ai exécuté les commandes pip, python et cela a fonctionné. Probablement, j'imagine qu'il peut y avoir un problème si le système python est utilisé pour python utilisé dans l'environnement de pyenv (/Users/user/.pyenv/).

C'est peut-être un symptôme non reproductible, et je pense que c'est une erreur générale parce que je n'ai pas bien compris pyenv, mais si vous avez un symptôme similaire, Python utilisé dans pyenv Essayez de voir si ce n'est pas pour le système. Nous espérons pour votre référence.

pyenv local system
pyenv global system
pip

Et exécuté pip etc., la boucle infinie a été reproduite. J'espère que cela n'arrive que dans mon environnement ...

appendix

La raison pour laquelle j'ai remarqué que python ne fonctionne pas en premier lieu est que j'utilise SublimeCodeIntel et que je regarde le journal

evaluating 'str' at hoge.py#37: no Python scan info for <Python buf 'hoge.py'>
done eval: eval error

A été sortie. Quand je me suis demandé si python était faux et que j'ai exécuté python sur le terminal, le symptôme ci-dessus a été découvert.

Recommended Posts

[Note] Éléments à vérifier lorsqu'une boucle infinie se produit dans pyenv
[OSX] [pyenv] Que faire lorsqu'une erreur SSL se produit dans pip
Lorsque j'essaie de mettre à niveau pip, après avoir échoué, on me demande de mettre à niveau et de boucler indéfiniment
[python] Que faire si vous obtenez une erreur avec send_keys dans le chrome sans tête
Précautions lors de l'ajout d'éléments à l'aide de DateField à un modèle existant ultérieurement dans Django
La première chose à vérifier quand un No Reverse Match se produit dans Django
Choses à noter lors de l'initialisation d'une liste en Python
Comment spécifier un nombre infini de tolérances dans le contrôle de validation d'argument numérique d'argparse
Comment vérifier si une valeur existe dans un type d'énumération
Que faire lorsqu'une erreur se produit avec import _ssl
[Beanstalk] Que faire lorsqu'une erreur se produit avec import uuid
Mesures à prendre en cas d'opération suspecte dans la redirection HttpResponse
Que faire quand UnicodeDecodeError se produit pendant read_csv dans pandas (pd.read_table ())
Que faire lorsque ModuleNotFoundError: Aucun module nommé'XXX 'ne se produit en Python
[Question] Dans la régression de forêt aléatoire de sk-learn, une erreur se produit lorsque le nombre de parallèles est défini sur -1.
Points à noter lors de la mise à jour vers WSL2
Une alternative à `pause` en Python
Remarque Python: lorsque vous souhaitez connaître les attributs d'un objet
Créez un tableau vide avec Numpy pour ajouter des lignes pour chaque boucle
Une note lors de la recherche d'une alternative aux pandas roulant pour une fenêtre en mouvement
Que faire si une erreur se produit lors de l'importation de numpy avec VScode