Mac下pyenv虚拟环境安装依赖时xmlsec编译失败求助
解决Mac pyenv环境下xmlsec编译失败(xmlSecSoap11Ns/xmlSecSoap12Ns未声明)的问题
问题根源
libxmlsec1的最新版本(1.3.x及以上)移除了xmlSecSoap11Ns和xmlSecSoap12Ns这两个常量,但当前Python的xmlsec包尚未适配该变更,导致编译时找不到这些标识符。
解决步骤
卸载当前可能存在的高版本libxmlsec1
brew uninstall --ignore-dependencies libxmlsec1安装兼容的1.2.x版本libxmlsec1
brew install libxmlsec1@1.2强制链接该版本,确保系统优先使用它
brew link --force libxmlsec1@1.2设置环境变量,让pip编译时能正确定位依赖库路径
在激活虚拟环境的终端中执行:export PKG_CONFIG_PATH="/usr/local/opt/libxmlsec1@1.2/lib/pkgconfig" export CFLAGS="-I/usr/local/opt/libxml2/include -I/usr/local/opt/libxmlsec1@1.2/include" export LDFLAGS="-L/usr/local/opt/libxml2/lib -L/usr/local/opt/libxmlsec1@1.2/lib"重新安装依赖
确保虚拟环境处于激活状态,然后执行:pip install -r requirements.txt或者直接安装xmlsec:
pip install xmlsec
内容的提问来源于stack exchange,提问作者Alberto Sanmartin Martinez
相关产品推荐
相关产品推荐

