macOS10.15.7下Python2.7 pip安装python-ldap报sasl.h缺失错误求助
问题根因
python-ldap编译阶段调用gcc时,无法定位SASL认证库的头文件sasl.h,导致编译流程中断。触发报错的核心是当前macOS环境缺少编译python-ldap必需的系统级依赖库,且依赖库的头文件、库文件路径未纳入gcc的默认搜索范围。
排查解决步骤
- 安装编译所需的系统依赖
通过Homebrew拉取cyrus-sasl、openldap的开发包(包含编译必需的头文件、静态/动态库文件),执行命令:brew install cyrus-sasl openldap - 手动配置依赖库的搜索路径
macOS不会自动将Homebrew安装的第三方库路径纳入系统默认搜索范围,需要配置环境变量,指定gcc的头文件搜索路径、库文件搜索路径:# 可通过 brew --prefix cyrus-sasl、brew --prefix openldap 查询实际安装路径,替换下方路径值 export CPPFLAGS="-I$(brew --prefix cyrus-sasl)/include -I$(brew --prefix openldap)/include" export LDFLAGS="-L$(brew --prefix cyrus-sasl)/lib -L$(brew --prefix openldap)/lib" - 重新执行依赖安装
保持当前终端的环境变量配置不中断,重新运行之前的pip install命令即可完成python-ldap的编译安装。
注意:如果安装过程中出现openldap库的动态链接报错,可额外执行
export LD_RUN_PATH="$(brew --prefix openldap)/lib"配置运行库搜索路径后再重试安装。
内容的提问来源于stack exchange,提问作者Pychong
相关产品推荐
相关产品推荐

