部署Elastic Beanstalk应用时遇pango-1.0-0库找不到错误求助
解决Elastic Beanstalk(Amazon Linux 2)上WeasyPrint的Pango库缺失问题
问题原因
WeasyPrint依赖Pango、Cairo等GTK系底层系统库,你的本地Windows环境已安装GTK运行时所以正常运行,但Amazon Linux 2默认未预装这些Linux版本的依赖库,导致部署后触发OSError。
解决方案
通过Elastic Beanstalk的配置文件自动安装系统依赖:
- 在项目根目录创建
.ebextensions文件夹(若不存在) - 在该文件夹内新建配置文件,命名为
01_install_weasyprint_deps.config - 将以下内容写入配置文件:
packages: yum: gcc-c++: [] cairo-devel: [] pango-devel: [] gdk-pixbuf2-devel: [] libjpeg-turbo-devel: [] giflib-devel: [] libpng-devel: [] python3-devel: []
- 重新部署应用:执行
eb deploy,或重新创建环境eb create django-env
这些包覆盖了WeasyPrint在Amazon Linux 2上编译和运行所需的全部系统依赖,安装完成后WeasyPrint即可正常加载Pango库。
内容的提问来源于stack exchange,提问作者Niiteesh
相关产品推荐
相关产品推荐

