当前位置: 代码迷 >> python >> 如何在Google App Engine中使用reportlab
  详细解决方案

如何在Google App Engine中使用reportlab

热度:25   发布时间:2023-07-16 10:10:54.0

我无法在Google App Engine下正确导入reportlab。 根据以下 (以及网络上的其他几个地方):

“您所要做的就是下载它,并将'reportab'目录复制到应用程序的根目录中。”

这样做时(我从下载reportlab-3.0.zip)并将其解压缩到我的应用程序的根目录中,因为我尝试使用以下几行导入reportlab:

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4

我收到导入错误

ImportError: No module named reportlab.pdfgen

我尝试了谷歌搜索,但无济于事。 在此方面的任何帮助将不胜感激,因为我不确定我还能尝试什么。 非常感谢!


我尝试做的另一件事是将下载的zip的src目录中的内容复制到应用程序的根目录下,但这也不起作用。 我使用此错误是:

ImportError: Cannot re-init internal module __main__

似乎2.7版可以导入,只有3.0版才有问题

如果只是将reportlab zip解压缩到应用程序的根目录中,则它将无法正常工作,因为reportlab zip是用于使用setup.py的本地设置的,而您在appengine中不会使用。

您应该在zip文件中查找src目录,并在其中查找一个reportlab目录-在我的情况下,zip文件的内容将为reportlab-3.0/src/reportlab复制/移动该reportlab目录至应用程序的根目录。

您可能还应该阅读python中的import和modules如何工作。 如果您对此有所了解,可以自己查看zip内容的结构。

如果要使用图像,也请注意先决条件。 如果这样做,则需要在本地安装PIL,并在app.yaml中启用它,但是您不会部署PIL代码。 您可以在Appengine第3部分库文档中阅读有关此内容的更多信息。

在命令pip install reportlab之后,检查reportlab安装的目标路径,然后在python项目ln -s /usr/lib/python2.7/dist-packages/reportlab的根目录下建立一个指向reportlab的链接。

您需要移动到lib的父目录。 然后,您可以使用以下命令安装reportlab:

pip install -t lib reportlab
  相关解决方案