J'ai couru mon projet Django avec le nouveau macOS Catalina et fonctionnait bien.
J'ai installé oh_my_zsh puis j'ai essayé d'exécuter le même projet qu'il plante avec les erreurs suivantes. J'ai désinstallé oh_my_zsh et réessayé mais cela n'a pas fonctionné.
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
la source
la source
Réponses:
Je viens de rencontrer le même problème et je me sentais un peu mal à l'aise de lier manuellement les choses.
J'ai pu résoudre le problème simplement
Je viens d'ajouter cette ligne à mon .zshrc.
Edit: Selon cette question , l'utilisation de
DYLD_FALLBACK_LIBRARY_PATH
pourrait être préférable àDYLD_LIBRARY_PATH
.Edit 2: Comme mentionné dans un commentaire ci-dessous, cela devrait probablement être la réponse acceptée. Réinstallez simplement le
cryptography
package.la source
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/opt/openssl/lib
travaux comme vous l'avez décrit. Merci pour le conseil!Attention: je ne suis pas un expert en sécurité, et cette solution gâche les crypto-bibliothèques!
Je ne pense pas que votre problème découle de zsh ou oh-my-zsh. Ma meilleure supposition: certaines bibliothèques de chiffrement installées avec MacOS 10.15 sont incompatibles avec l'
python3
installation de Homebrew .Voici ce qui a résolu le problème pour moi
Ma situation pour le contexte:
brew install python
pip3
échouait avecSIGABRT
En-tête du rapport d'erreur système:
la source
Pour moi, il suffisait de réinstaller le paquet de cryptographie de Python.
la source
pip uninstall cryptography
au lieu deremove
.Je préfère une combinaison des réponses @bixel, @Juro Oravec & @honkaboy:
De cette façon, du moins en théorie, lors de la mise à jour d'OpenSL, les dylibs pointeront toujours vers les dernières versions.
/usr/local/opt/openssl
est en fait un lien vers/usr/local/Cellar/openssl/Cellar/openssl/1.0.2t
(la version de openssl installée par brew).La raison pour laquelle le problème se produit est en fait expliquée par brew:
Essayer de courir
brew link openssl
:Donc, fondamentalement, vous devez les lier manuellement.
la source
r.xuan de ce fil Apple Dev a identifié les étapes d'une solution de contournement de l'erreur
Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI.
en remplaçant les lienslibssl.dylib
et par des liens vers des bibliothèques à partir de l'installation de Homebrew .libcrypto.dylib
/usr/local/lib
openssl
Les étapes sont les suivantes:
Obtenez de nouvelles bibliothèques
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/
Sauvegardez les anciens
4)
cd /usr/local/lib
5)
mv libssl.dylib libssl_bak.dylib
6)
mv libcrypto.dylib libcrypto_bak.dylib
Créer de nouveaux liens
7)
sudo ln -s libssl.1.0.0.dylib libssl.dylib
8)
sudo ln -s libcrypto.1.0.0.dylib libcrypto.dylib
la source
Cela doit être l'utilisation de certaines dépendances comme la cryptographie
Solution:
trouver cette ligne; supprimez-le et tout va bien
Voici mon problème
la source
Je voyais des problèmes similaires avec
ansible
. Le coupable étaitasn1crypto
, et le problème a déjà été résolu .Ma solution était de le supprimer manuellement et de le réinstaller avec
pip
:rm -r /usr/local/lib/python2.7/site-packages/asn1crypto*
. Cela a permispip
de travailler sans problème.pip install asn1crypto
, qui a installé1.2.0
:REMARQUE : Vous pouvez vérifier si
asn1crypto
c'est le coupable en exécutantpython
en mode détaillé, par exemplepython -v $(which ansible)
. Dans mon cas, il s'est écrasé lors de certainesasn1crypto
importations associées:Connexes: https://github.com/Homebrew/homebrew-core/issues/44996
la source
rm -r
commande comme indiqué dans la réponse, puis j'ai supprimé mon environnement python dans letrellis/.trellis/virtualenv
répertoire, puis j'ai utilisé trellis-clitrellis init
qui a recréé un environnement python et installé les dépendances avec pip.Si vous utilisez Kevlar de DevMate , effectuez une mise à niveau vers 4.3.1, qui "Correction d'un plantage de macOS Catalina provoqué par la version de libcrypto.dylib".
la source
On dirait que c'était un problème Homebrew. Je l'ai fait
brew reinstall python3
et cela a fonctionné.la source
Essayer:
A travaillé pour moi!
la source
Pour suivre les réponses mentionnées ci-dessus, je voulais lier le fichier libssl.dylib mais il n'y a aucun emplacement comme ci-dessous:
Cependant, comme la réponse acceptée par @bixel a trouvé le fichier à l'emplacement ci-dessous
et cela a fonctionné pour moi.
la source
J'ai rencontré le même problème lorsque j'utilisais
ctypes.cdll
pour ouvrir/usr/lib/libcrypto.dylib
avecPython 3.7
. Cependant,dylib
POURRAIT être ouvert avecPython 2.7
.J'ai installé la dernière version
openssl
debrew install
, puis défini les variables d'environnement et créé des liens comme ils l'ont suggéré ci-dessus, RIEN de bon ne s'est produit.Après plusieurs heures de creusage, j'ai trouvé une solution de contournement.
J'ai trouvé quelques
libcrypto.X.dylib
dans la/usr
manière suivante,Tout d'abord, j'ai utilisé le suivant pour le remplacer à la
/usr/lib
place.Il pouvait être chargé mais certains apis manquaient,
J'ai créé un lien pour
/usr/lib/libcrypto.X.dylib
dans mon chemin de script.Ajoutez ensuite le chemin d'accès à
DYLD_FALLBACK_LIBRARY_PATH
Enfin, cela a fonctionné.
la source