我无法在谷歌应用程序引擎下正确导入reportlab。根据以下guide http://blog.notdot.net/2010/04/Generating-PDFs-on-App-Engine-Python-and-introducing-Mapvelopes(以及网络上的其他几个地方):
“您所要做的就是下载它并将‘reportab’目录复制到您的应用程序的根目录中。”
当我这样做时(我从下载reportlab-3.0.ziphere http://www.reportlab.com/software/opensource/rl-toolkit/download/)并将其提取到我的应用程序的根目录中,因为我尝试使用以下行导入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 中的工作原理。如果您熟悉这一点,您可以通过查看 zip 内容的结构自行解决。
如果您想使用图像,还要注意先决条件。如果这样做,您将需要在本地安装 PIL,并在 app.yaml 中启用它,但您不部署 PIL 代码。您可以在 appengine 第三部分库文档中阅读有关此内容的更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)