MacBook M1芯片安装aerospike==5.0.0 pip包失败报错求助
macOS下virtualenv安装aerospike==5.0.0编译失败解决方案
错误根因
报错核心是编译阶段链接器找不到OpenSSL 1.1的动态库:
- aerospike 5.0.0依赖的C客户端静态编译时强依赖OpenSSL 1.1版本
- 新版macOS默认预装OpenSSL 3.x,Homebrew安装的openssl@1.1路径没有被编译脚本默认识别,才会出现
ld: library not found for -lssl的链接错误 - 提前安装wheel、安装Rosetta2都没有解决OpenSSL依赖缺失的核心问题,因此无效。
操作步骤
- 首先安装OpenSSL 1.1依赖:
brew install openssl@1.1
- 根据自己Mac的芯片类型,临时指定编译时的头文件和库文件搜索路径,再执行安装命令:
- M系列(Apple Silicon)芯片执行:
export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib" export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include" pip install aerospike==5.0.0- Intel芯片执行:
export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib" export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include" pip install aerospike==5.0.0 - 如果执行时提示clang命令不存在、编译工具缺失,先安装Xcode命令行工具:
xcode-select --install
安装完成后重新执行上一步的环境变量配置+pip安装命令即可。
如果需要长期保留这个编译路径配置,可以把对应的export语句写入shell配置文件(zsh对应~/.zshrc,bash对应~/.bash_profile),保存后执行source 对应配置文件路径生效,后续再安装同类型需要编译的Python包就不会重复报同类错误。
内容的提问来源于stack exchange,提问作者Shubham Srivastava
相关产品推荐
相关产品推荐

