0

我正在尝试从 Google App 引擎应用程序中使用。独立的 python 程序可以工作,但是当我尝试将它合并到我的谷歌应用程序引擎应用程序中时,我得到了 sqlite 和 plotly 的导入错误,这两者都是我的项目所需要的。如何让 GA Engine 识别这些导入?

归结为最简单的代码是这样的:

form="""
<form action="/sqlhandler">
    <input name="q">
    <input type="Submit">
</form>
"""
class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/html'
        self.response.write(form)

class SQLHandler(webapp2.RequestHandler):
    def get(self):
        q = self.request.get("q")
        import sql_queries
        url = sql_queries.plot_graph(q)
        self.response.headers['Content-Type'] = 'text/html'
        self.response.write(url)

    app = webapp2.WSGIApplication([
        ('/', MainPage),
        ('/sqlhandler', SQLHandler)
       ], debug=True)
4

2 回答 2

0

如何让 GA Engine 识别这些导入?

默认情况下,GAE 上既不提供 sqlite3 也不提供 plotly(请参阅https://cloud.google.com/appengine/docs/python/tools/libraries27)。

为了使用它们,您必须在您的 GAE 应用程序中包含这些库的源文件,并将它们与项目的其余部分一起上传。

于 2015-06-23T09:24:31.967 回答
0

这在技术上是一个 hack,但我为解决我的问题所做的是在后台服务中运行我的绘图生成代码,该服务侦听套接字上的请求,操作下载的数据,创建绘图并返回绘图 URL,以便它可以嵌入到要显示的html页面中。它的开销很小,但套接字通信在同一台本地机器上,所以希望这不是那么糟糕。这样我就不必安装库,不知道我会遇到什么其他问题。

于 2015-06-23T23:11:54.830 回答