You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何subprocess无法找到phantomjs?实为可执行文件自身异常

问题原因与解决方法

核心问题

你遇到的FileNotFoundError是误导性错误,实际原因是树莓派5的64位ARM架构无法运行32位的PhantomJS可执行文件,或缺少32位程序运行所需的依赖库。

从file命令输出能明确看到:

/usr/bin/phantomjs: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, ...

树莓派5采用64位ARMv8架构(aarch64),而当前的PhantomJS是32位ARMv7程序,若系统未安装32位运行时库,就会触发这种“找不到文件”的错误(实际是找不到32位动态链接器或依赖组件)。

解决步骤

方法1:安装32位运行时依赖

在树莓派的Debian/Ubuntu系统中,安装32位ARM的基础C库:

sudo apt update
sudo apt install libc6:armhf

安装完成后,重新尝试运行PhantomJS或你的Python脚本即可。

方法2:替换为64位无头浏览器(推荐)

PhantomJS已停止维护,Selenium也不再对其提供支持,更稳妥的方案是改用Headless Chrome:

  1. 安装Chrome浏览器及驱动:
sudo apt install chromium-browser chromium-chromedriver
  1. 修改Python代码适配Chrome Headless:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--headless=new')
options.add_argument('--no-sandbox')
wd = webdriver.Chrome(options=options)

内容的提问来源于stack exchange,提问作者John Kitchin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 23:42:08