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.
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
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.
À 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.
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.
Pipenv et pyenv réinstallés Effacez correctement pyenv, puis réinsérez-le
Recommended Posts