centos 7.9 系统中使用pyppeteer 启动浏览器进行网页抓取分析的时候,发现无法正常启动。其中输出的错误信息为:
Failed to launch browser 1: Browser closed unexpectedly
ldd ~/.local/share/pyppeteer/local-chromium/1181205/chrome-linux/chrome |grep 'not found'
注意: 上面的路径信息,会随着pyppeteer 版本以及系统版本有所不同。这个时候需要将对应的路径修改正确后再执行。
我的输出结果是:
~/.local/share/pyppeteer/local-chromium/1181205/chrome-linux/chrome: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by ~/.local/share/pyppeteer/local-chromium/1181205/chrome-linux/chrome)
错误 “/lib64/libc.so.6: version ‘GLIBC_2.18’ not found” 表明您系统上的 GNU C 库(glibc)版本比您尝试运行的软件要旧。这在尝试在系统上运行在具有比您系统上可用版本更高版本的 glibc 编译的软件时是一个常见问题。
要解决此问题,您可以手动安装所需版本的 glibc。
strings /usr/lib64/libc.so.6 | grep GLIBC_2.1
这个命令将列出系统上可用的 glibc 版本。如果没有列出 GLIBC_2.18,那么您需要安装它。
wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
tar zxf glibc-2.18.tar.gz
cd glibc-2.18/
mkdir build
cd build/
../configure --prefix=/usr
make -j2
make install
如果安装成功,您现在应该可以在版本列表中看到 GLIBC_2.18。
请注意,如果不小心操作,手动安装更新版本的 glibc 可能会导致系统出现问题。建议在继续操作之前备份重要数据。此外,请考虑升级 glibc 对系统的影响,因为它是 Linux 操作系统的核心组件。
其他版本的安装包可在https://ftp.gnu.org/gnu/glibc/中进行查找。
再次执行版本查看的方式:
strings /lib64/libc.so.6 | grep GLIBC
这个时候再次执行python脚本,成功启动。当时安装的时候,