Ich habe mein Django-Projekt mit dem neuen macOS Catalina ausgeführt und lief einwandfrei.
Ich habe oh_my_zsh installiert und dann versucht, dasselbe Projekt auszuführen, das mit den folgenden Fehlern abstürzt. Ich habe oh_my_zsh deinstalliert und es erneut versucht, aber es hat nicht funktioniert.
Path: /usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python
Identifier: Python
Version: 3.7.4 (3.7.4)
Code Type: X86-64 (Native)
Parent Process: Python [7526]
Responsible: Terminal [7510]
User ID: 501
Date/Time: 2019-10-07 20:59:20.675 +0530
OS Version: Mac OS X 10.15 (19A582a)
Report Version: 12
Anonymous UUID: CB7F20F6-96C0-4F63-9EC5-AFF3E0989687
Time Awake Since Boot: 3000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Application Specific Information:
/usr/lib/libcrypto.dylib
abort() called
Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI.
python
oh-my-zsh
libcrypto
macos-catalina
Faisal Manzer
quelle
quelle
Antworten:
Ich bin gerade auf das gleiche Problem gestoßen und fühlte mich etwas unwohl, Dinge manuell zu verknüpfen.
Ich konnte das Problem einfach lösen
Ich habe diese Zeile gerade zu meiner .zshrc hinzugefügt.
Bearbeiten: Nach dieser Frage ist die Verwendung von
DYLD_FALLBACK_LIBRARY_PATH
möglicherweise der Verwendung vorzuziehenDYLD_LIBRARY_PATH
.Edit 2: Wie weiter unten in einem Kommentar erwähnt, dies sollte wahrscheinlich die akzeptierte Antwort sein. Installieren Sie das
cryptography
Paket einfach neu .quelle
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/opt/openssl/lib
Arbeiten wie beschrieben bestätigen. Danke für den Tipp!Vorsichtsmaßnahme: Ich bin kein Sicherheitsexperte, und diese Lösung bringt Kryptobibliotheken durcheinander!
Ich glaube nicht, dass Ihr Problem von zsh oder oh-my-zsh herrührt. Meine beste Vermutung: Einige mit MacOS 10.15 installierte Kryptobibliotheken sind nicht mit der
python3
Installation von Homebrew kompatibel .Hier ist, was das Problem für mich behoben hat
Meine Situation für den Kontext:
brew install python
pip3
scheiterte mitSIGABRT
Kopfzeile des Systemfehlerberichts:
quelle
Für mich war es genug, das Kryptografiepaket von Python neu zu installieren.
quelle
pip uninstall cryptography
stattremove
.Ich bevorzuge eine Kombination aus @bixel, @Juro Oravec & @honkaboy Antworten:
Auf diese Weise verweisen die Dylibs zumindest theoretisch beim Aktualisieren von openssl immer auf die neuesten Versionen.
/usr/local/opt/openssl
ist eigentlich ein Link zu/usr/local/Cellar/openssl/Cellar/openssl/1.0.2t
(die von Brew installierte Version von openssl).Der Grund, warum das Problem auftritt, wird tatsächlich durch Brauen erklärt:
Versuch zu rennen
brew link openssl
:Grundsätzlich müssen Sie sie also manuell verknüpfen.
quelle
r.xuan von diesem Apple - Dev - Thread identifiziert die Schritte einer Abhilfe für den Fehler
Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI.
durch das Ersetzenlibssl.dylib
undlibcrypto.dylib
Links in/usr/local/lib
mit Links zu Libs von Homebrew des installieren vonopenssl
.Die Schritte sind:
Holen Sie sich frische Bibliotheken
1)
brew update && brew upgrade && brew install openssl
2)
cd /usr/local/Cellar/openssl/1.0.2t/lib
3)
sudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/local/lib/
Sichern Sie die alten
4)
cd /usr/local/lib
5)
mv libssl.dylib libssl_bak.dylib
6)
mv libcrypto.dylib libcrypto_bak.dylib
Erstellen Sie neue Links
7)
sudo ln -s libssl.1.0.0.dylib libssl.dylib
8)
sudo ln -s libcrypto.1.0.0.dylib libcrypto.dylib
quelle
Es müssen einige Abhängigkeiten wie Kryptographie verwendet werden
Lösung:
finde diese Zeile; lösche es und alles ist in Ordnung
Hier ist mein Problem
quelle
Ich sah ähnliche Probleme mit
ansible
. Der Schuldige warasn1crypto
, und das Problem wurde bereits behoben .Meine Lösung bestand darin, es manuell zu entfernen und neu zu installieren mit
pip
:rm -r /usr/local/lib/python2.7/site-packages/asn1crypto*
. Dies ermöglichte einpip
problemloses Arbeiten.pip install asn1crypto
, die installiert1.2.0
:HINWEIS : Sie können überprüfen, ob
asn1crypto
der Schuldige vorliegt, indem Siepython
im ausführlichen Modus arbeiten, zpython -v $(which ansible)
. In meinem Fall stürzte es bei einigenasn1crypto
verwandten Importen ab:Siehe auch: https://github.com/Homebrew/homebrew-core/issues/44996
quelle
rm -r
in der Antwort aufgeführten Befehl ausgeführt, dann meine Python-Umgebung imtrellis/.trellis/virtualenv
Verzeichnis entfernt und dann mit trellis-clitrellis init
eine Python-Umgebung neu erstellt und Abhängigkeiten mit pip installiert.Wenn Sie Kevlar von DevMate verwenden , aktualisieren Sie auf 4.3.1, was "den durch die Version von libcrypto.dylib verursachten Absturz von macOS Catalina behoben hat".
quelle
Sieht so aus, als wäre es ein Homebrew-Problem. Ich habe
brew reinstall python3
es getan und es hat funktioniert.quelle
Versuchen:
Hat für mich gearbeitet!
quelle
Um den oben genannten Antworten zu folgen, wollte ich die Datei libssl.dylib verlinken, fand aber keinen der folgenden Speicherorte:
Als akzeptierte Antwort von @bixel fand sich die Datei jedoch unter dem Speicherort
und es hat bei mir funktioniert.
quelle
Ich traf das gleiche Problem , wenn ich mit
ctypes.cdll
öffnen/usr/lib/libcrypto.dylib
mitPython 3.7
. Dasdylib
KÖNNTE jedoch mit geöffnet werdenPython 2.7
.Ich habe die neueste Version
openssl
mit installiertbrew install
, dann die Umgebungsvariablen festgelegt und Links wie oben vorgeschlagen erstellt. Es ist NICHTS Gutes passiert.Nach einigen Stunden des Grabens fand ich eine Problemumgehungslösung.
Ich fand einige
libcrypto.X.dylib
in/usr
wie folgt:Erstens habe ich das folgende verwendet, um das
/usr/lib
stattdessen zu ersetzen .Es konnte geladen werden, aber einige Apis fehlten,
Ich habe einen Link für
/usr/lib/libcrypto.X.dylib
in meinem Skriptpfad erstellt.Fügen Sie dann den Pfad zu hinzu
DYLD_FALLBACK_LIBRARY_PATH
Endlich hat es funktioniert.
quelle