새로운 macOS Catalina로 Django 프로젝트를 실행했으며 정상적으로 실행되었습니다.
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.
답변
방금 동일한 문제가 발생하여 수동으로 주변을 연결하는 것이 약간 불편하다고 느꼈습니다.
나는 간단하게 문제를 해결할 수 있었다
- homebrew를 통한 openssl 설치 :
brew install openssl
- DYLD_LIBRARY_PATH를 통해 openssl에서 동적 라이브러리를 가리키는 경우 :
export DYLD_LIBRARY_PATH=/usr/local/opt/openssl/lib:$DYLD_LIBRARY_PATH
방금 해당 줄을 내 .zshrc에 추가했습니다.
편집 : 이 질문 에 따르면 의 사용법이보다 DYLD_FALLBACK_LIBRARY_PATH
좋습니다 DYLD_LIBRARY_PATH
.
편집 2 : 아래 의견에서 언급했듯이 이것은 아마도 대답 이 될 것입니다. cryptography
패키지를 다시 설치하기 만하면 됩니다.
답변
경고 : 나는 보안 전문가가 아니며이 솔루션은 암호화 라이브러리를 엉망으로 만듭니다!
귀하의 문제가 zsh 또는 oh-my-zsh에서 비롯된 것으로 생각되지 않습니다. 내 추측으로는 MacOS 10.15와 함께 설치된 일부 암호화 라이브러리는 Homebrew의 python3
설치 와 호환되지 않습니다 .
다음은 문제를 해결 한 것입니다.
# Install openssl via homebrew.
# Note: According to homebrew, "openssl is keg-only, which means it was
# not symlinked into /usr/local, because Apple has deprecated use of
# OpenSSL in favor of its own TLS and crypto libraries."
brew install openssl
# Symlink those versions into /usr/local/lib, which gets Python to dynamically
# link against those instead of the version in /usr/lib/.
# Got the idea from https://forums.developer.apple.com/thread/119429
cd /usr/local/lib
sudo ln -s /usr/local/Cellar/openssl/1.0.2t/lib/libssl.1.0.0.dylib libssl.dylib
sudo ln -s /usr/local/Cellar/openssl/1.0.2t/lib/libcrypto.1.0.0.dylib libcrypto.dylib
상황에 대한 나의 상황 :
- 최근 MacOS 10.15로 업그레이드
- homebrew를 통해 설치된 python / pip를 사용합니다.
brew install python
pip3
실패했다SIGABRT
시스템 오류 보고서의 헤더 :
Process: Python [52429]
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: zsh [43309]
Responsible: iTerm2 [2316]
User ID: 501
Date/Time: 2019-10-09 09:52:18.148 -0700
OS Version: Mac OS X 10.15 (19A583)
Report Version: 12
Bridge OS Version: 4.0 (17P572)
Anonymous UUID:
Sleep/Wake UUID:
Time Awake Since Boot: 9900 seconds
Time Since Wake: 7300 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.
답변
나를 위해 파이썬의 암호화 패키지를 다시 설치하는 것으로 충분했습니다.
pip uninstall cryptography
pip install cryptography
답변
@bixel, @Juro Oravec 및 @honkaboy 답변의 조합을 선호합니다.
brew install openssl
cd /usr/local/lib
sudo ln -s /usr/local/opt/openssl/lib/libssl.dylib libssl.dylib
sudo ln -s /usr/local/opt/openssl/lib/libcrypto.dylib libcrypto.dylib
최소한 이론적으로는 openssl을 업데이트 할 때 dylib는 항상 최신 버전을 가리 킵니다. /usr/local/opt/openssl
실제로는 /usr/local/Cellar/openssl/Cellar/openssl/1.0.2t
(brew가 설치 한 openssl의 버전)에 대한 링크 입니다.
이 문제가 발생하는 이유는 실제로 brew에 의해 설명됩니다.
openssl은 통 전용이며, 이는 Apple이 자체 TLS 및 암호화 라이브러리를 위해 OpenSSL을 더 이상 사용하지 않기 때문에 / usr / local로 심볼릭 링크되지 않았 음을 의미합니다.
실행하려고 brew link openssl
:
경고 : macOS 제공 소프트웨어 연결 거부 : openssl PATH에서 먼저 openssl이 필요한 경우 : echo ‘export PATH = “/ usr / local / opt / openssl / bin : $ PATH”‘>> ~ / .bash_profile
컴파일러에서 openssl을 찾으려면 다음을 설정해야합니다. export LDFLAGS = “-L / usr / local / opt / openssl / lib”export CPPFLAGS = “-I / usr / local / opt / openssl / include”
pkg-config에서 openssl을 찾으려면 다음을 설정해야합니다. export PKG_CONFIG_PATH = “/ usr / local / opt / openssl / lib / pkgconfig”
따라서 기본적으로 수동으로 연결해야합니다.
답변
이 Apple Dev 스레드의 r.xuan은 및 Homelink 설치에서 libs에 대한 링크로 및 링크를 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
openssl
단계는 다음과 같습니다.
신선한 라이브러리 얻기
1) brew update && brew upgrade && brew install openssl
2) cd /usr/local/Cellar/openssl/1.0.2t/lib
삼) 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
답변
암호화 와 같은 일부 종속성을 사용해야합니다.
해결책:
cd your-site-packages-path/
vim ./asn1crypto/_int.py
이 줄을 찾으십시오. 그것을 삭제하면 모든 것이 정상입니다.
# from ._perf._big_num_ctypes import libcrypto
여기 내 문제가있다
Process: Python [85179]
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: ??? [85161]
Responsible: iTerm2 [11711]
User ID: 501
Date/Time: 2019-10-07 23:00:25.143 +0800
OS Version: Mac OS X 10.15 (19A582a)
Report Version: 12
Bridge OS Version: 3.0 (14Y906)
Anonymous UUID: 32C73ADD-1291-FA0E-DC02-48D539674325
Time Awake Since Boot: 42000 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.
답변
와 비슷한 문제가 발생했습니다 ansible
. 범인은 asn1crypto
문제이며 이미 문제가 해결되었습니다 .
내 솔루션은 수동으로 제거하고 다시 설치하는 것이 었습니다 pip
.
rm -r /usr/local/lib/python2.7/site-packages/asn1crypto*
. 이것은pip
문제없이 작동 할 수있었습니다 .pip install asn1crypto
설치 한1.2.0
:
Found existing installation: asn1crypto 0.24.0
Uninstalling asn1crypto-0.24.0:
Successfully uninstalled asn1crypto-0.24.0
Successfully installed asn1crypto-1.2.0
참고 : 예를 들어, 상세 모드에서 asn1crypto
실행하면 범인이 있는지 확인할 수 있습니다 . 필자의 경우 관련 가져 오기 를 수행하는 동안 충돌이 발생했습니다 .python
python -v $(which ansible)
asn1crypto
# /usr/local/lib/python2.7/site-packages/asn1crypto/_perf/_big_num_ctypes.pyc matches /usr/local/lib/python2.7/site-packages/asn1crypto/_perf/_big_num_ctypes.py
import asn1crypto._perf._big_num_ctypes # precompiled from /usr/local/lib/python2.7/site-packages/asn1crypto/_perf/_big_num_ctypes.pyc
[1] 59247 abort python -v $(which ansible)