MacOS下Python3.10 pip安装lxml卡在Building wheel步骤求助
MacOS下Python3.10安装lxml卡在Building wheel阶段的修复方案
首先修正初始命令的写法错误:执行的python3.10 pip3 install lxml是错误命令,这种写法会把pip3作为Python脚本路径传给解释器,执行逻辑本身存在问题,调用对应Python版本pip的正确格式为python3.10 -m pip <后续参数>。
安装卡在wheel构建阶段的核心原因是pip默认拉取了源码包在本地编译,而MacOS环境缺少lxml依赖的libxml2、libxslt底层编译依赖,导致编译进程挂起,可按以下方案逐一尝试:
- 优先跳过源码编译,直接安装预编译二进制包
先升级pip到最新版本,旧版pip无法识别适配MacOS(尤其是M系列芯片)的预编译wheel包:python3.10 -m pip install --upgrade pip
升级完成后强制使用二进制包安装,不走本地编译流程:python3.10 -m pip install lxml --only-binary :all: - 若必须从源码编译安装,先预装编译依赖
先通过Homebrew安装lxml依赖的系统库:brew install libxml2 libxslt
安装完成后指定依赖头文件、库文件路径再执行安装:python3.10 -m pip install lxml \ --global-option="build_ext" \ --global-option="-I$(brew --prefix libxml2)/include/libxml2" \ --global-option="-L$(brew --prefix libxml2)/lib" - M系列芯片Mac额外排查架构匹配问题
如果设备是M1/M2/M3系列ARM架构芯片,检查安装的Python3.10是否为Rosetta 2转译的x86版本,架构不匹配会导致编译进程假死,卸载后安装arm64原生版本的Python3.10,再执行二进制安装命令即可。
内容的提问来源于stack exchange,提问作者AHOi
相关产品推荐
相关产品推荐

