应用引擎中的google.cloud.bigquery错误

时间:2017-12-22 06:26:11

标签: python-2.7 google-app-engine google-bigquery importerror

在本地开发应用程序引擎服务器(以及生产应用程序引擎)上,我想运行一个包含大查询相关代码的脚本,但是我收到错误。我已经访问了stackoverflow中与此错误相关的所有答案,但没有找到任何可行的方法。以下是发生的代码和错误。提前感谢您的宝贵时间。

代码

#!/usr/bin/python 
from google.cloud import bigquery
client = bigquery.Client('myproject')
query = '(SELECT *FROM (SELECT *, ROW_NUMBER() OVER (PARTITION BY tb1.user_id ORDER BY tb1.timestamp DESC) AS RowNo FROM `mytable` tb1) x WHERE x.RowNo = 1)'
job_config = bigquery.QueryJobConfig()
job_config.allow_large_results = True
job_config.destination = dest_table_ref
job_config.write_disposition = 'WRITE_TRUNCATE'
query_job = client.query(query, job_config=job_config)

当我点击网址(http://myproject:8080/cronscript)时出现以下错误

错误

  

文件“/home/username/src/project-name/python_reporting-2017-12-15-10-37/cronscript.py”,第3行,in       来自google.cloud导入bigquery     在load_module中输入文件“/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/runtime/sandbox.py”,第1132行       引发ImportError('没有名为%s的模块'%fullname)   ImportError:没有名为google.cloud.bigquery的模块

然而,当我通过输入python打开python shell时 如果我输入

  
    
      

来自google.cloud导入bigquery

             

它工作正常。       如果我运行python cronscript.py它也会正确执行           $ python cronscript.py           完成           $

    
  

仅在执行dev_appserver.py app.yaml后从本地应用服务器执行此操作时 我收到以上错误。

我所做的一切

1) sudo pip install --upgrade google-cloud-bigquery
2) my requirements.txt look like
    google-api-python-client
    google-cloud
3) pip install -t lib/ requirements.txt
4) from google.appengine.ext import vendor
   vendor.add('lib')
5) from __future__ import absolute_import

仍未解决。

1 个答案:

答案 0 :(得分:2)

看起来你没有这个模块。那么,您是否尝试安装/升级Google云端?

sudo pip install --upgrade google-cloud-bigquery