Request-html模块无法在Apple M1芯片上运行的原因是什么?
解决request-html模块触发的「zsh: illegal hardware instruction」错误
这个错误大概率是架构不兼容导致的,尤其常见于Apple Silicon(M1/M2系列)芯片的Mac设备——request-html依赖的pyppeteer默认下载的是x86架构的Chromium,和ARM架构的处理器不匹配,执行时就会触发硬件指令错误。
以下是几种可行的解决方法:
方法一:指定ARM兼容版Chromium版本安装
- 在终端中设置环境变量,指定适配ARM架构的Chromium版本:
export PYPPETEER_CHROMIUM_REVISION=1108766 - 卸载现有冲突依赖后重装request-html:
pip uninstall -y request-html pyppeteer pip install request-html
方法二:手动使用Homebrew安装的ARM版Chromium
- 通过Homebrew安装原生ARM架构的Chromium:
brew install chromium - 在代码中指定Chromium的执行路径(默认路径如下,可根据实际安装位置调整):
from requests_html import HTMLSession session = HTMLSession() # 替换为你的Chromium实际路径 session.browser.args = [ '--no-sandbox', '--disable-setuid-sandbox', '--executable-path=/Applications/Chromium.app/Contents/MacOS/Chromium' ] # 示例使用 r = session.get('https://example.com') r.html.render()
方法三:强制重装依赖(通用排障)
如果是依赖包损坏导致的错误,可尝试强制重装:
pip install --force-reinstall request-html
内容的提问来源于stack exchange,提问作者Faddy18
相关产品推荐
相关产品推荐

