Ubuntu Server 20.04使用Python、Django和wkhtmltopdf转HTML为PDF时出现GLIBC等依赖版本缺失错误求助
Ubuntu Server 20.04使用Python、Django和wkhtmltopdf转HTML为PDF时出现GLIBC等依赖版本缺失错误求助
嘿Rolando,我之前在Ubuntu 20.04上折腾wkhtmltopdf的时候也碰到过一模一样的问题!核心原因很简单:你现在装的wkhtmltopdf版本太新了,它依赖的GLIBC、libstdc++这些系统库的版本要求比Ubuntu 20.04自带的高太多——毕竟20.04默认的GLIBC是2.31,而错误里要求的最低都到2.32了,系统根本满足不了。
给你两个亲测有效的解决办法,选哪个都行:
办法一:安装兼容Ubuntu 20.04的官方适配版本
这个版本是专门针对Ubuntu 20.04(focal)打包的,依赖完全匹配:
- 先把当前有问题的wkhtmltopdf彻底卸载:
sudo apt remove --purge wkhtmltopdf sudo apt autoremove
- 安装必要的基础依赖:
sudo apt install libxrender1 libfontconfig1 libxext6
- 下载并安装适配focal的deb包:
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb
- 验证安装:
wkhtmltopdf --version
如果能正常输出版本号,没有报错,就搞定了。
办法二:使用静态编译版(更稳妥,不依赖系统库)
静态编译版把所有需要的依赖都打包进二进制文件里了,完全不用管系统的库版本:
- 同样先卸载现有版本(如果有的话):
sudo apt remove --purge wkhtmltopdf sudo apt autoremove
- 下载静态编译包:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.6/wkhtmltox-0.12.6_linux-generic-amd64.tar.xz
- 解压并移动到系统可执行路径:
tar xvf wkhtmltox-0.12.6_linux-generic-amd64.tar.xz sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/
- 验证:
wkhtmltopdf --version
最后提醒一下,如果你用的是django-wkhtmltopdf这个Django库,记得在项目的settings.py里确认WKHTMLTOPDF_CMD的路径是不是正确指向/usr/bin/wkhtmltopdf,要是路径不对的话手动指定就行:
# settings.py WKHTMLTOPDF_CMD = '/usr/bin/wkhtmltopdf'
试试上面的方法,应该能解决你的依赖问题!
备注:内容来源于stack exchange,提问作者Rolando Antonio Del Rosario Ma
相关产品推荐
相关产品推荐

