MacOS High Sierra 10.13.3下Python lxml库安装失败求助
解决MacOS High Sierra 10.13.3安装lxml失败的问题
嘿,我之前在MacOS High Sierra上装lxml时也碰到过完全一样的状况——不管是PyCharm里直接装还是用pip3 install lxml都卡在编译环节报错,本质原因是lxml源码编译需要依赖系统里的libxml2和libxslt库,而MacOS默认没装全这些编译依赖,下面给你几个亲测有效的解决办法:
方法1:先安装Xcode命令行工具
编译lxml需要用到编译器,MacOS的Xcode命令行工具包含了这些必备工具:
- 打开终端,运行:
xcode-select --install - 按照弹窗提示完成安装,过程可能需要几分钟。
方法2:用Homebrew安装依赖库后再装lxml
如果还没装Homebrew,先在终端执行安装命令:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后安装lxml的编译依赖:
brew install libxml2 libxslt
最后设置环境变量让pip找到这些库,再安装lxml:
LDFLAGS="-L/usr/local/opt/libxml2/lib -L/usr/local/opt/libxslt/lib" CPPFLAGS="-I/usr/local/opt/libxml2/include -I/usr/local/opt/libxslt/include" pip3 install lxml
方法3:直接安装预编译的wheel包(不用编译,最省心)
如果不想折腾编译环境,可以直接装预编译好的二进制包:
- 先安装wheel工具:
pip3 install wheel - 强制pip使用预编译包安装lxml:
pip3 install --only-binary :all: lxml
方法4:升级pip和setuptools后重试
有时候旧版本的pip或setuptools也会导致编译失败,先升级它们:
pip3 install --upgrade pip setuptools
然后再执行pip3 install lxml试试。
这些方法里,方法3通常是最快解决问题的,如果你不想折腾依赖就优先用它;方法2适合需要源码编译或者后续还要用相关库的场景。
内容的提问来源于stack exchange,提问作者Kamil Saitov




