【发布时间】:2019-01-29 18:30:54
【问题描述】:
我有一个使用 Python 2.7(我知道)的 Python Flask 制作的网页,托管在 Dreamhost 上。直到几天前,我完全没有问题。然后,我开始在我的页面上收到权限错误。我不知道发生了什么,但我得到了 Dreamhost 实时聊天,他们通过对我的文件执行 chmod 755 解决了这个问题。一切都恢复正常,但经过进一步检查,在我的网页中生成 PDF 文档的所有部分都已停止工作。我在错误日志中得到的错误是“脚本头过早结束”。
此错误仅在我尝试生成 PDF 时出现。该代码在我的本地环境中完美运行,但不适用于托管。我再次与 Dreamhost 的人取得了联系,他们说这与他们无关。考虑到已经工作的代码根本没有改变,这很奇怪。我尝试自己调试,但没有收到任何错误。
我已经尝试了几乎所有我能想到的来解决这种情况,但我没有成功。行动方案是更改此托管(我知道,首先使用 Dreamhost 是我的错误。但是当我这样做时,我才刚刚开始,而且我知之甚少)。但我目前需要一个更快的解决方案,我想知道是否有人遇到过这个问题,也许可以帮助我解决这个问题。
详细说明,我使用的是 Python 2.7,用于创建 PDF 的库是 Flask-Weasyprint (0.5)。我尝试自己运行 wsgi 文件,我收到以下消息:
/path/to/local/lib/python2.7/site-packages/WeasyPrint-0.39-py2.7.egg/weasyprint/text.py:29: UserWarning: There are known rendering problems with Cairo <= 1.14.0
warnings.warn('There are known rendering problems with Cairo <= 1.14.0')
/path/to/local/lib/python2.7/site-packages/WeasyPrint-0.39-py2.7.egg/weasyprint/fonts.py:46: UserWarning: @font-face support needs Pango >= 1.38
warnings.warn('@font-face support needs Pango >= 1.38')
我知道我应该改用 Python 3。当我制作这个 Web 应用程序时,Dreamhost 只接受 Python 2,而我几乎不知道创建 VPS 或类似的东西。我计划尽快将托管更改为虚拟机并在 Python 3 中运行该项目。但在继续之前,我现在需要一个解决方案。
任何帮助将不胜感激。如果您需要更多详细信息,请告诉我。
【问题讨论】:
标签: python flask wsgi dreamhost