[PYTHON] Que faire lorsque le shell pipenv devient impossible

introduction

Je fais de la gestion de version Python, de la gestion de la bibliothèque et de la gestion de l'environnement virtuel avec pyenv + pipenv sur un mac, mais un jour, quand j'ai essayé d'activer l'environnement virtuel de pipenv, j'ai eu l'erreur suivante et je n'ai pas pu l'activer. ..

$ pipenv shell
Traceback (most recent call last):
  File "/usr/local/Cellar/pipenv/2018.11.26_4/libexec/bin/pipenv", line 5, in <module>
    from pipenv import cli
ModuleNotFoundError: No module named 'pipenv'

L'erreur est que pipenv est introuvable, mais quand je vais dans le répertoire où pipenv lui-même est stocké, je ne connais pas la cause de cette erreur car elle existe normalement là-bas. J'ai eu cette erreur lorsque j'ai essayé d'activer l'environnement virtuel dans n'importe quel autre répertoire et que j'ai réalisé que pipenv était cassé. Si vous connaissez la cause, cela signifie que vous avez redémarré mac après un long moment. Ce n'est pas confirmé, mais c'est peut-être arrivé lorsque j'ai redémarré avec des choses laissées dans l'environnement virtuel. D'ailleurs, il y a quelques jours, mon junior est également tombé dans ce symptôme, et tout en étant soutenu par un professeur d'université sans en connaître la cause, je l'ai résolu en réinstallant pyenv et pipenv, alors j'ai essayé moi-même et cela a été guéri. Je garderai une série de travaux sous forme de mémorandum.

Supprimer l'environnement existant

Tout d'abord, supprimez les fichiers pyenv et pipenv existants. Ici, il n'est pas nécessaire de supprimer le Pipfile etc. qui gère la bibliothèque. Laissez-le prêt pour une reconstruction immédiate en fonction des informations contenues dans le Pipfile. Étant donné que cet article se concentre sur la reconstruction de l'environnement virtuel de pyenv + pipenv, il est supposé que ces environnements sont utilisés à l'origine et qu'il n'est pas nécessaire de modifier les paramètres de Pipfile, Pifile.lock, .bash_profile et zshrc. écrire.

$ which python
>>> /Users/xxx/.pyenv/shims/python
$ rm -rf /Users/xxx/.pyenv
$ brew uninstall pyenv
$ brew uninstall pipenv

Réinsérez pyenv + pipenv, Python

Il est maintenant temps de réinstaller les outils.

$ brew install pyenv
$ brew install pipenv

--Installez Python en spécifiant la version que vous utilisiez à l'origine

$ pyenv install 3.6.7
$ pyenv install 3.7.5
$ pyenv global 3.7.5
$ python -V
>>> Python 2.7.10

Comme cela n'a pas été reflété, lorsque j'ai vérifié quel Python j'utilisais, il semble que j'utilise le Python par défaut de mac.

$ which python
>>> /usr/bin/python

En parlant de cela, afin de pouvoir utiliser le Python de pyenv avec une spécification de chemin telle que / Users / xxx / .pyenv / shims / python, écrivez ce qui suit dans `` .bash_profile Je me suis souvenu de ce que j'ai fait. L'utilisateur zsh est un autre fichier.

export PYENV_ROOT=${HOME}/.pyenv
if [ -d "${PYENV_ROOT}" ]; then
  export PATH=${PYENV_ROOT}/bin:$PATH
  eval "$(pyenv init -)"
fi

Reflétez à nouveau les paramètres ci-dessus et vérifiez quel Python vous utilisez à nouveau.

$ source .bash_profile
$ which python
>>> /Users/xxx/.pyenv/shims/python

Il a été confirmé qu'il prend en charge Python de pyenv normalement.

Reconstruire un environnement virtuel

À partir de là, il s'agit de reconstruire l'environnement virtuel géré par pipenv.

cd Le répertoire dans lequel vous souhaitez créer un environnement virtuel
pipenv --python 3.7.5
pipenv shell
pipenv install

Ceci termine la reconstruction de l'environnement virtuel.

finalement

J'ai cherché dans la littérature anglaise l'erreur mentionnée au début, mais je n'ai pas trouvé de personne avec le même symptôme, et la cause est encore inconnue, mais il existe un traitement symptomatique, alors ne paniquez pas et traitez-le calmement.

Articles référencés

Pipenv et pyenv réinstallés Effacez correctement pyenv, puis réinsérez-le

Recommended Posts

Que faire lorsque le shell pipenv devient impossible
Que faire si vous ne pouvez pas installer mysqlclient
Que faire si vous ne pouvez pas trier les fichiers avec des indices
Que faire si vous ne pouvez pas vous connecter en tant que root
Que faire si vous ne pouvez pas utiliser le WiFi sous Linux
Que faire si vous ne pouvez pas installer pyaudio avec pip #Python
Que faire si vous ne pouvez pas construire un projet avec Maven
Que faire si vous ne pouvez pas utiliser la poubelle dans Lubuntu 18.04.
Que faire si l'option -f de grep ne fonctionne pas
Que faire si PDO n'est pas trouvé dans Laravel ou CakePHP
Que faire si vous ne pouvez pas utiliser la recherche de grille de sklearn en Python
Que faire si vous ne pouvez pas installer avec pip dans l'environnement babun
Aucun module nommé Que faire si vous obtenez "libs.resources"
ModuleNotFoundError: No module Que faire si vous obtenez 'sensorflow.contrib'
Je ne peux pas utiliser le shell pipenv ... que dois-je faire?
Que faire si vous obtenez une erreur "Aucune version trouvée" sur pipenv
Que faire si yum casse
Que faire si vous êtes accro aux codes de caractères Windows
Que faire si Combinaisons devient «couverture inconnue»
Remède facile lorsque vous perdez votre paire de clés EC2
Comment installer et utiliser pyenv, que faire si vous ne pouvez pas changer de version de Python
Résumons ce que vous voulez faire.
Que faire si vous obtenez moins zéro en Python
Que faire si vous obtenez une erreur de décodage Unicode avec l'installation de pip
Que faire lorsque vous obtenez "Je ne peux pas voir le site !!!!"
Que faire si pipreqs aboutit à UnicodeDecodeError
Que faire si l'environnement Pipenv est corrompu en mettant à jour Homebrew
CommandNotFoundError: Votre shell n'a pas été correctement configuré pour utiliser Que faire si vous obtenez "Honda activate"
Que faire si vous ne parvenez pas à envoyer un e-mail à Yahoo avec Python.
Que faire si mod_fcgid ne peut pas résoudre UnicodeEncodeError
Que faire si les rails ne fonctionnent pas
Que faire si vous vous perdez dans la référence de fichier avec FileNotFoundError
Que faire si vous vous fâchez avec TensorFlow v2 sans l'attribut "app"
Que faire si vous êtes bloqué pendant l'installation d'Anaconda sur Linux
Que faire lorsque TypeError se produit au minimum et au maximum de numpy
Que faire si vous obtenez une erreur lors du chargement de mnist
Que faire si pip ne peut pas être installé
Que faire si l'autocomplete-python d'atome ne fonctionne pas
Que faire si vous obtenez Impossible de récupérer l'URL 443 avec pip
Que faire si Docker-sync cesse soudainement de fonctionner
swapon failed: Que faire si vous vous fâchez contre l'opération non autorisée
Solution lorsque Django ne peut pas charger d'images à partir d'un dossier statique
Que faire si vous obtenez une erreur lors de l'installation de python avec pyenv
Que faire si vous obtenez «Python non configuré». Utilisation de PyDev dans Eclipse
UnicodeDecodeError: Que faire lorsque le codec de 'shift_jis' ne peut pas décoder l'octet
Que faire si l'installation de SciPy échoue sur CentOS
Liens pour faire ce que vous voulez avec Sublime Text
Que faire si une erreur de décodage Unicode se produit dans pip
Ce que vous ne pouvez pas faire avec hstack ou vstack avec dstack
Que faire si l'installation de pip ne parvient pas à installer les bibliothèques dépendantes
Que faire si sys / cdefs.h n'existe pas
Que faire si pyenv n'est pas activé (zsh)
Que faire lorsqu'une erreur "service inconnu" est renvoyée par le serveur gRPC
Que faire si vous obtenez une erreur OpenSSL lors de l'installation de Python 2 avec pyenv
Que faire si le Microsoft Store s'ouvre même si vous exécutez python sous Windows