[PYTHON] Was tun, wenn die Pipenv-Shell nicht mehr möglich ist?

Einführung

Ich mache Python-Versionsverwaltung, Bibliotheksverwaltung, Verwaltung der virtuellen Umgebung mit pyenv + pipenv auf dem Mac, aber eines Tages, als ich versuchte, die virtuelle Umgebung von pipenv zu aktivieren, bekam ich den folgenden Fehler und konnte sie nicht aktivieren ..

$ 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'

Der Fehler ist, dass pipenv nicht gefunden werden kann, aber wenn ich in das Verzeichnis gehe, in dem pipenv selbst gespeichert ist, kenne ich die Ursache dieses Fehlers nicht, da er dort normalerweise vorhanden ist. Ich habe diesen Fehler erhalten, als ich versucht habe, die virtuelle Umgebung in einem anderen Verzeichnis zu aktivieren, und festgestellt habe, dass pipenv defekt ist. Wenn Sie die Ursache kennen, bedeutet dies, dass Sie den Mac nach langer Zeit neu gestartet haben. Es ist nicht bestätigt, aber vielleicht ist es passiert, als ich mit einigen Dingen in der virtuellen Umgebung neu gestartet habe. Übrigens, vor ein paar Tagen ist auch mein Junior in dieses Symptom geraten, und obwohl ich von einem Universitätslehrer unterstützt wurde, ohne die Ursache zu kennen, habe ich es gelöst, indem ich pyenv und pipenv neu installiert habe, also habe ich es selbst versucht und es wurde geheilt. Ich werde eine Reihe von Arbeiten als Memorandum aufbewahren.

Vorhandene Umgebung löschen

Löschen Sie zunächst das vorhandene pyenv und pipenv. Hier ist es nicht erforderlich, die Pipfile usw. zu löschen, die die Bibliothek verwaltet. Lassen Sie es für den sofortigen Wiederaufbau bereit, basierend auf den in der Pipfile enthaltenen Informationen. Da sich dieser Artikel auf die Neuerstellung der virtuellen Umgebung von pyenv + pipenv konzentriert, wird davon ausgegangen, dass diese Umgebungen ursprünglich verwendet werden und die Einstellungen von Pipfile, Pifile.lock, .bash_profile und zshrc nicht manipuliert werden müssen. schreiben.

--Überprüfen Sie den Pfad von Python, den Sie verwenden

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

Setzen Sie pyenv + pipenv, Python wieder ein

Jetzt ist es Zeit, die Tools neu zu installieren.

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

Es wurde nicht reflektiert. Als ich überprüfte, welches Python ich verwendete, schien es, dass ich das Mac-Standard-Python verwendete.

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

Apropos, um pyenvs Python mit einer Pfadspezifikation wie `/ Users / xxx / .pyenv / shims / python``` verwenden zu können, schreiben Sie Folgendes in` .bash_profile``` Ich erinnerte mich, was ich getan hatte. Der zsh-Benutzer ist eine andere Datei.

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

Reflektieren Sie die obigen Einstellungen erneut und überprüfen Sie, welches Python Sie erneut verwenden.

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

Es wurde bestätigt, dass es Python von Pyenv normal unterstützt.

Neuerstellung einer virtuellen Umgebung

Von hier aus geht es darum, die von pipenv verwaltete virtuelle Umgebung neu zu erstellen.

cd Das Verzeichnis, in dem Sie eine virtuelle Umgebung erstellen möchten
pipenv --python 3.7.5
pipenv shell
pipenv install

Damit ist die Neuerstellung der virtuellen Umgebung abgeschlossen.

Schließlich

Ich habe in der englischen Literatur nach dem eingangs erwähnten Fehler gesucht, aber ich konnte keine Person mit dem gleichen Symptom finden, und die Ursache ist immer noch unbekannt, aber es gibt eine symptomatische Behandlung, also keine Panik und gehe ruhig damit um.

Artikel, auf die verwiesen wird

Pipenv und pyenv neu installiert Löschen Sie pyenv ordnungsgemäß und fügen Sie es erneut ein

Recommended Posts

Was tun, wenn die Pipenv-Shell nicht mehr möglich ist?
Was tun, wenn Sie mysqlclient nicht per Pip installieren können?
Was tun, wenn Sie keine Dateien mit Indizes sortieren können?
Was tun, wenn Sie sich nicht als root anmelden können?
Was tun, wenn Sie unter Linux kein WLAN verwenden können?
Was tun, wenn Sie pyaudio nicht mit pip #Python installieren können?
Was tun, wenn Sie mit Maven kein Projekt erstellen können?
Was tun, wenn Sie den Papierkorb in Lubuntu 18.04 nicht verwenden können?
Was tun, wenn die Option -f von grep nicht funktioniert?
Was tun, wenn PDO nicht in Laravel oder CakePHP gefunden wird?
Was tun, wenn Sie die Rastersuche von sklearn in Python nicht verwenden können?
Was tun, wenn Sie nicht mit pip in einer Babun-Umgebung installieren können?
Kein Modul mit dem Namen Was tun, wenn Sie "libs.resources" erhalten?
ModuleNotFoundError: Kein Modul Was tun, wenn Sie'tensorflow.contrib 'erhalten?
Ich kann keine Pipenv-Shell verwenden ... was soll ich tun?
Was tun, wenn auf pipenv der Fehler "Keine Versionen gefunden" angezeigt wird?
Was tun, wenn Yum kaputt geht?
Was tun, wenn Sie von Windows-Zeichencodes abhängig sind?
Was tun, wenn Overalls "Abdeckung unbekannt" werden?
Einfache Lösung, wenn Sie Ihr EC2-Schlüsselpaar verlieren
So installieren und verwenden Sie pyenv. Was tun, wenn Sie die Python-Version nicht wechseln können?
Lassen Sie uns zusammenfassen, was Sie tun möchten.
Was tun, wenn in Python minus Null angezeigt wird?
Was tun, wenn bei der Pip-Installation ein Unicode-Dekodierungsfehler auftritt?
Was tun, wenn "Ich kann die Site nicht sehen !!!!"
Was tun, wenn pipreqs zu UnicodeDecodeError führt?
Was tun, wenn die Pipenv-Umgebung durch Aktualisierung von Homebrew beschädigt wird?
CommandNotFoundError: Ihre Shell wurde nicht ordnungsgemäß für die Verwendung von Was ist zu tun, wenn Sie "Conda aktivieren" verwenden?
Was tun, wenn Sie mit Python keine E-Mail an Yahoo senden konnten?
Was tun, wenn mod_fcgid UnicodeEncodeError nicht auflösen kann?
Was tun, wenn die Schienen nicht funktionieren?
Was tun, wenn Sie sich mit FileNotFoundError in der Dateireferenz verlieren?
Was tun, wenn Sie sich über TensorFlow v2 ohne Attribut 'app' ärgern?
Was tun, wenn Sie während der Anaconda-Installation unter Linux nicht weiterkommen?
Was tun, wenn TypeError in min und max von numpy auftritt?
Was tun, wenn beim Laden von mnist eine Fehlermeldung angezeigt wird?
Was tun, wenn pip nicht installiert werden kann?
Was tun, wenn die Autocomplete-Python von Atom nicht funktioniert?
Was tun, wenn Sie URL 443 mit pip nicht abrufen konnten?
Was tun, wenn die Docker-Synchronisierung plötzlich nicht mehr funktioniert?
Swapon fehlgeschlagen: Was tun, wenn Sie sich über eine Operation ärgern, die nicht zulässig ist?
Lösung, wenn Django keine Bilder aus einem statischen Ordner laden kann
Was tun, wenn bei der Installation von Python mit pyenv eine Fehlermeldung angezeigt wird?
Was tun, wenn "Python nicht konfiguriert" angezeigt wird? Verwenden von PyDev in Eclipse
UnicodeDecodeError: Was tun, wenn der Codec von'shift_jis kein Byte dekodieren kann?
Was tun, wenn die SciPy-Installation unter CentOS fehlschlägt?
Links, um mit Sublime Text zu tun, was Sie wollen
Was tun, wenn in pip ein Unicode-Dekodierungsfehler auftritt?
Was Sie mit hstack oder vstack mit dstack nicht machen können
Was tun, wenn bei der Installation von pip abhängige Bibliotheken nicht installiert werden können?
Was tun, wenn sys / cdefs.h nicht vorhanden ist?
Was tun, wenn pyenv nicht aktiviert ist (zsh)
Was tun, wenn ein Fehler "unbekannter Dienst" vom gRPC-Server zurückgegeben wird?
Was tun, wenn bei der Installation von Python 2 mit pyenv ein OpenSSL-Fehler auftritt?
Was tun, wenn der Microsoft Store geöffnet wird, auch wenn Sie Python unter Windows ausführen?