Google App Engine本地:ImportError:没有名为google.cloud.bigquery的模块

时间:2017-08-06 00:27:09

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

正如标题所说。

所以我已经将以下内容添加到appengine_config.py但没有运气:

# appengine_config.py
from google.appengine.ext import vendor

# Add any libraries install in the "lib" folder.
vendor.add('lib')

我做了print sys.path并验证了lib dir包含google / cloud / bigquery

如果我自己运行python,我可以导入它:

 from google.cloud import bigquery
 print bigquery.__path__
 ['/usr/local/lib/python2.7/dist-packages/google/cloud/bigquery']

来自Google App Engine的终点:

import google.cloud;print google.cloud.__path__
['/usr/local/lib/python2.7/dist-packages/google/cloud']

Big Query位于该系统位置。 /usr/local/lib/python2.7/dist-packages/google/cloud/biqguery/存在。但是,如果我从应用引擎端点尝试以下内容:

 from google.cloud import bigquery

 ImportError: No module named google.cloud.bigquery

相关文件包含但似乎没有帮助:

 from __future__ import absolute_import

更新

我设置了一个venv并安装如下所示:pip install -t lib/ -r requirements.txt --upgrade。从那里,如果我尝试import google; print google.__path__我得到:

 ['lib/google', '/usr/lib/google-cloud-sdk/platform/google_appengine/google']

我认为第二条道路可能是原因。

我已经审核了以下内容但没有成功:

1 个答案:

答案 0 :(得分:1)

您需要在应用的google-cloud-bigquery目录中安装lib,这是开发服务器所在的位置,而不是系统的库。来自Installing a third-party library

  
      
  1. 创建一个目录来存储您的第三方库,例如lib/

    mkdir lib
    
  2.   
  3. 使用带有-t <directory>标志的pip(版本6或更高版本)将库复制到您之前创建的文件夹中   步。例如:

    pip install -t lib/ <library_name>
    
  4.