Pipenv: Problem nach dem Upgrade von Python auf 3.7

Erstellt am 24. Aug. 2018  Â·  12Kommentare  Â·  Quelle: pypa/pipenv

Fehlerbeschreibung

Ich bin auf einem Mac und habe pre-commit mit brew installiert und ohne zu fragen, von Python 3.6.5 auf 3.7 aktualisiert. (3.6.5 war auch unter der Kontrolle von brew )

Jetzt schlÀgt pipenv mit "Bibliothek nicht geladen"-Fehler fehl.

Erwartetes Ergebnis

Pipenv funktioniert wie vor dem Python-Upgrade.

TatsÀchliche Ergebnis
$ pipenv -h
dyld: Library not loaded: @executable_path/../.Python
  Referenced from: /usr/local/Cellar/pipenv/2018.5.18/libexec/bin/python3.6
  Reason: image not found
Abort trap: 6
Kommentare
  1. Was ist der richtige Weg, um das Problem zu beheben? Kann ich eine Konfigurationsdatei bearbeiten, um stattdessen auf 3.7 zu verweisen?

  2. Könnte pipenv vielleicht nachsichtiger sein und sich auf die BinÀrdatei python3 anstelle der python3.6 ?

Hilfreichster Kommentar

Ich habe ein Ă€hnliches Problem - wo arch linux von 3.6.5 auf 3.7 aktualisiert wurde und jetzt bekomme ich eine Fehlermeldung, wenn ich versuche, pipenv auszufĂŒhren. Was fĂŒr mich funktioniert, aber es ist in der Tat ein bisschen ein hĂ€sslicher Hack, ist, zuerst pip zu aktualisieren, pipenv neu zu installieren und fĂŒr jedes Repository, das pipenv verwendet, die virtuelle Umgebung zu löschen und neu zu erstellen.
Ich mache sowas wie:

rm -rf `pipenv --venv`
pipenv install --dev

und das scheint den Job zu machen.

Hinweis: Sie sollten wahrscheinlich auch die Anforderung im Pipfile von Python 3.6 auf 3.7 Àndern.

Ich hoffe, das hilft, aber ich frage mich auch, ob es eine robustere Lösung gibt...

Alle 12 Kommentare

Ich habe ein Ă€hnliches Problem - wo arch linux von 3.6.5 auf 3.7 aktualisiert wurde und jetzt bekomme ich eine Fehlermeldung, wenn ich versuche, pipenv auszufĂŒhren. Was fĂŒr mich funktioniert, aber es ist in der Tat ein bisschen ein hĂ€sslicher Hack, ist, zuerst pip zu aktualisieren, pipenv neu zu installieren und fĂŒr jedes Repository, das pipenv verwendet, die virtuelle Umgebung zu löschen und neu zu erstellen.
Ich mache sowas wie:

rm -rf `pipenv --venv`
pipenv install --dev

und das scheint den Job zu machen.

Hinweis: Sie sollten wahrscheinlich auch die Anforderung im Pipfile von Python 3.6 auf 3.7 Àndern.

Ich hoffe, das hilft, aber ich frage mich auch, ob es eine robustere Lösung gibt...

Das hÀngt damit zusammen, wie Homebrew Python konfiguriert. Es gibt nichts, was Pipenv (oder irgendeine Python-Bibliothek) dagegen tun kann. Installieren Sie KEINE Dinge auf einem Homebrew-Python, wenn Sie dies nicht möchten. Wenn dies der Fall ist, ist eine Neuinstallation Ihre einzige Option.

Ich erinnere mich, dass ich vor ein paar Tagen ein Àhnliches Problem kommentiert habe, es aber im Moment nicht finden konnte :(

@uranusjr Wird dies nicht von den Dokumenten empfohlen ?

Ja so?

Homebrew-Installationen sind ziemlich kompliziert und außerhalb unserer Kontrolle. Sie gehen ein gewisses Risiko ein, wenn Sie sie verwenden (keiner von uns verwendet einen Mac, daher können wir dazu nicht viel Einblick geben).

was bei mir funktioniert hat war
brew uninstall mkcert

Was fĂŒr mich funktionierte, war, alle meine envs zu zerstören: rm -rf /Users/william/.local/share/virtualenvs/* , und envs mit pipenv install neu zu installieren.

@omrihar warum das --dev Flag? In der Dokumentation steht "Installieren Sie sowohl die Entwicklungs- als auch die Standardpakete." Bedeutet dies die Installation lokaler Pakete (zB python setup.py Develop)?

Bearbeiten: Verwenden von brew-installiertem pipenv (2018.11.26_2) mit Python3.7. Ich hatte Probleme in der Sperrphase der Installation, z. B. Locking Failed! oder einfach nur hÀngen bei Locking

Was uns geholfen hat war:

$ brew uninstall pipenv
$ brew install python3.6
$ pip3 install --user pipenv
$ mkdir -p ~/bin
$ ln -s ../Library/Python/3.6/bin/pipenv ~/bin/

und wenn Sie dies noch nicht getan haben, fĂŒgen Sie ~/bin/ zu Ihrem PATH hinzu, indem Sie die PATH-Zeile in ~/.bash_profile bearbeiten:

...
PATH=/Users/{your_username}/bin:{the_content_that_was_there_before}
...

Vergessen Sie nicht, die Shell zu schließen und zu öffnen

Ich bin auf dieses Problem gestoßen und habe es gelöst, indem ich es gemĂ€ĂŸ den

brew upgrade pipenv

Ich hatte das gleiche Problem, nachdem ich die OSX-Version aktualisiert hatte.

Gelöst, indem man die Homebrew-Installation deinstalliert und dann den Anweisungen zur

pip install --user pipenv

Vergessen Sie nicht, das BinĂ€rverzeichnis der Benutzerbasis gemĂ€ĂŸ den Anweisungen zu Ihrem PATH hinzuzufĂŒgen.

Hallo, ich erhalte die gleichen Fehler, aber ich bin mir nicht sicher, was ich deinstallieren muss und wie.
Ich habe versucht, pipenv zu installieren, bekam die Fehler und sah dann, dass es nicht installiert war. und wenn ich in den Brauprotokollen nachschaue, sehe ich, dass Python3.8 installiert zu sein scheint, was AFAIK zuvor nicht installiert hatte (ich verwende 3.7)

Der Versuch, [email protected] zu deinstallieren, hat nicht funktioniert, da awscli davon abhĂ€ngt, was keinen Sinn macht, wenn es nicht zuvor installiert wurde ...

Was muss ich im Allgemeinen deinstallieren, um dieses Problem zu lösen?
die einzigen Protokolle in ~/Library/Logs/Homebrew sind zum Zeitpunkt der Installation von [email protected] .
es scheint mir, dass ich es deinstallieren muss, scheint richtig? (vielleicht wurde awscli aktualisiert oder so...)

Vielen Dank fĂŒr Ihre Hilfe.

Die Deinstallation von Python hat es geschafft. Danke

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen