macOS Big Sur下无法通过pip安装xmlsec的解决方法求助
macOS Big Sur 11.3.1 解决xmlsec编译安装错误方案
针对安装xmlsec时出现xmlSecSoap11Ns和xmlSecSoap12Ns未声明的编译错误,可按以下步骤解决:
方法一:指定brew依赖路径后从源码编译
- 配置环境变量,让pip找到brew安装的新版依赖库和头文件:
export CFLAGS="-I$(brew --prefix libxml2)/include/libxml2 -I$(brew --prefix libxmlsec1)/include" export LDFLAGS="-L$(brew --prefix libxml2)/lib -L$(brew --prefix libxmlsec1)/lib" export PKG_CONFIG_PATH="$(brew --prefix libxml2)/lib/pkgconfig:$(brew --prefix libxmlsec1)/lib/pkgconfig" - 强制从源码编译安装xmlsec:
pip install xmlsec --no-binary :all:
方法二:降级xmlsec版本
若方法一无效,可尝试安装兼容性更好的旧版本:
pip install xmlsec==2.0.3
方法三:使用conda安装(若有conda环境)
通过conda-forge源直接安装预编译好的包,避免编译问题:
conda install -c conda-forge xmlsec
问题原因
macOS Big Sur自带的libxml2版本较低,缺少编译xmlsec所需的xmlSecSoap11Ns和xmlSecSoap12Ns符号;brew安装的新版依赖未被pip编译过程识别,需手动指定路径或选择兼容版本规避编译冲突。
内容的提问来源于stack exchange,提问作者David Masip
相关产品推荐
相关产品推荐

