M1芯片Mac使用Python3.8出现libcrypto不安全加载警告如何解决
警告含义
该报错是M1系列芯片Mac中系统自带Python 3.8的典型兼容性问题:libcrypto是OpenSSL组件提供的加密功能核心库,系统自带的Python 3.8未适配ARM64架构的OpenSSL路径规则,调用涉及加密功能的依赖库时,会错误加载未经过系统签名校验、或适配x86架构的libcrypto版本,macOS的安全校验机制会直接中止进程避免安全风险。
解决方法
以下方案按生效时效、稳定性排序:
- 临时修复(单次运行生效)
若已安装Homebrew,运行程序前先执行命令指定正确的OpenSSL库路径:
再正常执行export DYLD_LIBRARY_PATH=/opt/homebrew/opt/openssl@1.1/lib/python manager.py即可正常运行。 - 永久修复当前用户的运行环境
将上述环境变量写入默认shell配置文件即可永久生效:- 若使用M1 Mac默认的zsh shell,执行:
echo 'export DYLD_LIBRARY_PATH=/opt/homebrew/opt/openssl@1.1/lib/' >> ~/.zshrc source ~/.zshrc - 若使用bash shell,将上述命令中的
.zshrc替换为.bash_profile即可。
- 若使用M1 Mac默认的zsh shell,执行:
- 长期稳定修复(推荐开发场景使用)
系统自带Python本身存在权限限制多、兼容性差的问题,不建议日常开发使用,可通过Homebrew重新安装适配M1架构的Python 3.8解决所有兼容性问题:
安装完成后调用的Python 3.8为ARM原生适配版本,不会再触发libcrypto加载报错。brew install python@3.8 brew link python@3.8 --force
内容的提问来源于stack exchange,提问作者OOGWAY
相关产品推荐
相关产品推荐

