Я запустил свой проект Django с новой MacOS Catalina и работал нормально.
Я установил oh_my_zsh, а затем попытался запустить тот же проект, он падает со следующими ошибками. Я удалил oh_my_zsh и попытался снова, но это не сработало.
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
Фейсал Манцер
источник
источник
Ответы:
Я только столкнулся с той же самой проблемой и чувствовал себя немного неудобным, чтобы вручную связать вещи вокруг.
Я смог решить проблему, просто
Я только что добавил эту строку в мой .zshrc.
Изменить: в соответствии с этим вопросом , использование
DYLD_FALLBACK_LIBRARY_PATH
может быть предпочтительнее, чемDYLD_LIBRARY_PATH
.Изменить 2: Как упомянуто в комментарии ниже, это, вероятно, должен быть принятый ответ. Просто переустановите
cryptography
пакет.источник
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/opt/openssl/lib
работы, как вы описали. Спасибо за совет!Предостережение: я не эксперт по безопасности, и это решение портит криптографические библиотеки!
Я не думаю, что ваша проблема проистекает из zsh или oh-my-zsh. Мое лучшее предположение: некоторые крипто-библиотеки, установленные с MacOS 10.15, несовместимы с
python3
установкой Homebrew .Вот что решило проблему для меня
Моя ситуация для контекста:
brew install python
pip3
терпел неудачу сSIGABRT
Заголовок сообщения об ошибке системы:
источник
Для меня было достаточно переустановить пакет шифрования Python.
источник
pip uninstall cryptography
вместоremove
.Я предпочитаю сочетание @bixel, @Juro Oravec & @honkaboy ответов:
Таким образом, по крайней мере, теоретически, при обновлении openssl dylibs всегда будут указывать на последние версии.
/usr/local/opt/openssl
на самом деле ссылка на/usr/local/Cellar/openssl/Cellar/openssl/1.0.2t
(версия openssl, установленная brew).Причина возникновения проблемы на самом деле объясняется brew:
Попытка запустить
brew link openssl
:Итак, в основном вам нужно связать их вручную.
источник
r.xuan из этой ветки Apple Dev определила шаги для обхода ошибки
Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI.
, заменив ссылкиlibssl.dylib
иlibcrypto.dylib
ссылки/usr/local/lib
ссылками на библиотеки из установки Homebrewopenssl
.Шаги:
Получить свежие библиотеки
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/
Сделайте резервную копию старых
4)
cd /usr/local/lib
5)
mv libssl.dylib libssl_bak.dylib
6)
mv libcrypto.dylib libcrypto_bak.dylib
Создать новые ссылки
7)
sudo ln -s libssl.1.0.0.dylib libssl.dylib
8)
sudo ln -s libcrypto.1.0.0.dylib libcrypto.dylib
источник
Это должно быть использование некоторых зависимостей, таких как криптография
Решение:
найти эту строку; удали его, и все в порядке
Вот моя проблема
источник
Я видел похожие проблемы с
ansible
. Виновник былasn1crypto
, а проблема уже исправлена .Мое решение состояло в том, чтобы вручную удалить это и переустановить это с
pip
:rm -r /usr/local/lib/python2.7/site-packages/asn1crypto*
, Это позволилоpip
работать без проблем.pip install asn1crypto
, который установил1.2.0
:ПРИМЕЧАНИЕ : вы можете проверить,
asn1crypto
является ли виновником, запустивpython
в подробном режиме, напримерpython -v $(which ansible)
. В моем случае это произошло сбой при выполнении некоторыхasn1crypto
связанных импортов:Связанный: https://github.com/Homebrew/homebrew-core/issues/44996
источник
rm -r
команду, указанную в ответе, затем удалил свою среду Python вtrellis/.trellis/virtualenv
каталоге, затем использовал trellis-cli,trellis init
который воссоздал среду Python и установил зависимости с помощью pip.Если вы используете Kevlar из DevMate , обновитесь до 4.3.1, в котором «исправлено падение macOS Catalina, вызванное версией libcrypto.dylib».
источник
Похоже, это была проблема доморощенного. Я сделал,
brew reinstall python3
и это сработало.источник
Пытаться:
Работал на меня!
источник
Чтобы следовать ответам, упомянутым выше, хотел связать файл libssl.dylib, но не нашел такого места, как показано ниже:
Однако как принятый ответ @bixel нашел файл в расположении ниже
и это сработало для меня.
источник
Я встретил тот же вопрос , когда я использовал ,
ctypes.cdll
чтобы открыть/usr/lib/libcrypto.dylib
сPython 3.7
. Однакоdylib
МОЖЕТ быть открыт сPython 2.7
.Я установил последнюю версию
openssl
сbrew install
, затем установил переменные окружения и создал ссылки так, как они предложили выше, НИЧЕГО хорошего не произошло.После нескольких часов копания я нашел обходное решение.
Я нашел некоторые
libcrypto.X.dylib
в/usr
следующем,Во-первых, вместо этого я использовал следующий
/usr/lib
.Он мог быть загружен, но некоторые API отсутствовали,
Я создал ссылку для
/usr/lib/libcrypto.X.dylib
в моем пути сценария.Затем добавьте путь к
DYLD_FALLBACK_LIBRARY_PATH
Наконец-то это сработало.
источник