微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ModuleNotFoundError:在Google App Engine下没有名为“ xhtml2pdf”的模块

如何解决ModuleNotFoundError:在Google App Engine下没有名为“ xhtml2pdf”的模块

Google App Engine的新功能。 完全使用Google Cloud Shell进行构建-主要是在认真进行开发之前先学习平台。 完成了所有将来可能的要求,除了在网页上显示图形和下载PDF之外。这个问题是关于下载PDF

我创建一个新的文件夹PDF

在appengine_config.py下,我添加

vendor.add('pdf')

我运行命令:

pip install -t pdf/ xhtml2pdf

我收到一条错误消息:

ipython 5.10.0 has requirement prompt-toolkit<2.0.0,>=1.0.4,but you'll have prompt-toolkit 2.0.10 which is incompatible.

我创建一个类PDFHandler.py,其代码开头为:

from io import StringIO
from xhtml2pdf import pisa

我编写了其余代码,并使用 python3 main.py 运行应用程序,出现以下错误

ModuleNotFoundError: No module named 'xhtml2pdf'

我想念的是什么? 有没有更好的方法可以下载自定义PDF?

解决方法

我能够通过从Cloud Shell运行pip install -t pdf/ xhtml2pdf重现您的问题,因为出现以下错误:

成功构建了xhtml2pdf pyPdf2 ipython 5.10.0要求使用提示工具包 = 1.0.4,但是您将使用不兼容的提示工具包2.0.10。 安装收集的软件包:webencodings,六个,html5lib,pyPdf2,Pillow,reportlab,xhtml2pdf ...

如果您遵循this文档在Cloud Shell上创建虚拟环境并使用以下命令pip3 install -t pdf/ xhtml2pdf --upgrade安装所需的依赖项(或通常创建require.txt文件,请添加必需的依赖项并运行pip3 install -r requirements.txt),您应该再也不会看到上述提示。

在另外的说明中,我不建议将Cloud Shell用作开发环境,因为它是用于快速原型设计和测试的工具。

通常,请参考following documentation来设置Python开发环境。

如果您的应用程序需要处理某些PDF,我建议您探索使用App Engine Flexible环境在单独的服务中安装PDF处理所需的特定依赖项,该服务可以由主​​应用程序通过HTTP调用。查找有关此here的更多信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。