如何使用reportlab与谷歌应用程序引擎

时间:2014-03-24 09:59:08

标签: python google-app-engine reportlab

我无法在谷歌应用引擎下正确导入reportlab。根据以下guide(以及网络上的其他几个地方):

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

当我这样做时(我从here下载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

3 个答案:

答案 0 :(得分:6)

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

你应该查看zip到src目录里面,里面是一个reportlab目录 - 在我的例子中,zip文件内容将reportlab-3.0/src/reportlab复制/移动这个reportlab目录到根目录你的申请。

您可能还应该了解导入和模块如何在python中工作。如果你熟悉这个,你可以自己看一下拉链内容的结构。

如果您想处理图像,还要注意先决条件。如果这样,您将需要在本地安装PIL,并在app.yaml中启用它,但是您不需要部署PIL代码。您可以在appengine第3部分库文档中阅读更多相关信息。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

pip install -t lib reportlab