如何解决如何在Google App Engine for Python3上安装库
我目前在GCloud上托管了一个Python3项目。我希望通过允许基于模板生成报告来增强该项目。
我正在调查 WeasyPrint 。
关于 WeasyPrint 的事情是,它具有手动安装所需的大量要求,而这些要求是无法通过pip
完成的。 GDK-PixBuf 是一个特定的变量,它不仅需要sudo-install
(?),还需要在环境变量中引用PATH
。
我是GCloud部署的新手,我不确定如何在GCloud服务器中执行此操作,因此(最初)我不愿使用 WeasyPrint 。
最重要的是,在Google themselves only has documentation for it in Python2 which says it(and Cairo) are not supported上读到如何做到这一点时,对Python 3毫无了解,这进一步让我感到困惑。
The Python3 documentation itself is not helping much.
我发现了与此有关的一些东西,但除了年代it's more catered towards Python2
解决方法
您将无法在 GAE标准中使用WeasyPrint,因为它依赖于GAE的Python运行时所缺少的某些基于C的程序包(例如cairo,Pango,GDK-PixBuf) -link。
但是,您可以使用 GAE flexible 环境,因为它允许使用自定义运行时。在GAE flexible中,您可以通过Dockerfile安装所需的组件。请参阅我前一段时间在这个主题上写的example。
, App Engine标准不允许您安装pip
不能满足您需求的其他软件,因此我认为它不能满足您的需求。 App Engine flexible确实允许这样做,但我认为Cloud Run会更合适,更易于学习和使用。通过Cloud Run,您可以指定一个容器,然后该容器可以构建,部署和管理容器以响应Web请求。您可以安装所需的二进制文件并在构建容器时设置PATH。
有关示例Python的Dockerfile,请参见Cloud Run quickstart for Python,该示例显示了如何在构建期间设置环境变量和运行Linux命令(例如安装所需的软件)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。