Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 本地Google应用程序引擎:ImportError:没有名为Google.cloud.bigquery的模块_Python_Google App Engine_Google Bigquery - Fatal编程技术网

Python 本地Google应用程序引擎:ImportError:没有名为Google.cloud.bigquery的模块

Python 本地Google应用程序引擎:ImportError:没有名为Google.cloud.bigquery的模块,python,google-app-engine,google-bigquery,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') 我打印了sys.path并验证了libdir包含google/cloud/bigquery 如果我自己运行python,我可以导入它: fro

正如标题所说

因此,我在appengine_config.py中添加了以下内容,但运气不佳:

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

# Add any libraries install in the "lib" folder.
vendor.add('lib')
我打印了sys.path并验证了libdir包含google/cloud/bigquery

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

 from google.cloud import bigquery
 print bigquery.__path__
 ['/usr/local/lib/python2.7/dist-packages/google/cloud/bigquery']
从Google应用程序引擎端点:

import google.cloud;print google.cloud.__path__
['/usr/local/lib/python2.7/dist-packages/google/cloud']
大查询位于该系统位置/usr/local/lib/python2.7/dist-packages/google/cloud/biqguery/存在。但是,如果我从app engine端点尝试以下操作:

 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。从那里,如果我尝试导入谷歌;打印谷歌。路径我得到:

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

我回顾了以下内容,但没有成功:

您需要将google cloud bigquery安装到应用程序的lib dir中,这是开发服务器正在查看的位置,而不是系统的libs上。发件人:

创建一个目录来存储第三方库,如lib/

使用带有-t标志的版本6或更高版本将库复制到您在上一个版本中创建的文件夹中 步例如:

pip install -t lib/ <library_name>

首先,我创建了一个venv,并在那里安装了我的需求。没有帮助。我试了你刚才的建议,也犯了同样的错误。从我的项目的根开始,我执行了你的步骤。老实说,我已经试过了,但我觉得也许我应该再试一次以确保安全。车内,车外。一个提示可能是,当部署在谷歌应用程序引擎上时,我也会遇到同样的错误。我可以检查sys.path,列出的第一个目录有bigquery文件夹。该/usr/local/lib路径在GAE上没有用处-只有你应用下面的目录才是你应用的服务!是的,我已经开始使用venv,在我的项目lib dir中手动安装libs。事实上我取得了进步。可以看到bigquery,但现在当bigquery导入单调时,我没有得到合适的实现。一旦我解决了问题,我会用细节更新我的答案。同样在GAE本身上运行的bigquery仍然找不到。另外-不要尝试从常规python脚本或shell导入/检查它,而是从GAE应用程序代码导入/检查它。GAE应用程序的工作方式不同于独立的python应用程序——它们与GAE infra中的支持代码结合使用。发布了一个可能的解决方法,有什么帮助吗?或者你现在是否以其他方式解决了这个问题?
mkdir lib
pip install -t lib/ <library_name>