ModuleNotFoundError:没有名为“ google.appengine”的模块

时间:2019-04-07 16:42:00

标签: python python-3.x google-app-engine google-custom-search google-search-api

我想在Windows上的python3中进行Google搜索。谷歌的说明说,他们支持python3并输入“ gcloud topic init”以获取详细信息-但这未能说明没有python2.7的解释器。我是否必须安装python2.7才能了解如何使其在python3上运行?

在python3上,我收到如下错误消息。我已经设置了API密钥和自定义搜索引擎。我做了“ pip install google-api-python-client”。我下载并运行了GoogleCloudSDKInstaller。这是错误:

from googleapiclient.discovery import build
service = build("customsearch", "v1", developerKey="xxxxxx")

我得到:

  

[googleapiclient.discovery_cache:警告]:file_cache不可用   当使用oauth2client> = 4.0.0或google-auth( init .py:44,   time = Apr-07 17:25)追溯(最近一次通话):文件   “ C:\ Users \ simon \ Anaconda3 \ lib \ site-packages \ googleapiclient \ discovery_cache__init __。py”,   第36行,自动检测       从google.appengine.api导入memcache ModuleNotFoundError:没有名为“ google.appengine”的模块

在处理上述异常期间,发生了另一个异常:

  

回溯(最近通话最近):文件   “ C:\ Users \ simon \ Anaconda3 \ lib \ site-packages \ googleapiclient \ discovery_cache \ file_cache.py”,   第33行,在       从oauth2client.contrib.locked_file导入LockedFile ModuleNotFoundError:没有名为“ oauth2client”的模块

在处理上述异常期间,发生了另一个异常:

  

回溯(最近通话最近):文件   “ C:\ Users \ simon \ Anaconda3 \ lib \ site-packages \ googleapiclient \ discovery_cache \ file_cache.py”,   第37行,在       从oauth2client.locked_file导入LockedFile ModuleNotFoundError:没有名为“ oauth2client”的模块

在处理上述异常期间,发生了另一个异常:

  

回溯(最近通话最近):文件   “ C:\ Users \ simon \ Anaconda3 \ lib \ site-packages \ googleapiclient \ discovery_cache__init __。py”,   第41行,在自动检测中       来自。导入file_cache文件“ C:\ Users \ simon \ Anaconda3 \ lib \ site-packages \ googleapiclient \ discovery_cache \ file_cache.py”,   第41行,在       '使用oauth2client> = 4.0.0或google-auth时,file_cache不可用')ImportError:使用时,file_cache不可用   oauth2client> = 4.0.0或google-auth   [googleapiclient.discovery:INFO]:请求的网址:GET   https://www.googleapis.com/discovery/v1/apis/customsearch/v1/rest?key=AIzaSyBGDtIo_P8xXbn0ksb15wUhy6sdR_eBDpU

2 个答案:

答案 0 :(得分:4)

需要参数cache_discovery = False

答案 1 :(得分:1)

尽管到达时看起来像是级联错误,但仔细观察第一行,实际上只是警告:

[googleapiclient.discovery_cache:WARNING]:file_cache is unavailable...

这样,如果您无权访问该实例化,则可以像这样抑制它:

import logging

logging.getLogger('googleapiclient.discovery_cache').setLevel(logging.ERROR)

您仍然会遇到任何实际错误。

感谢theacodes给出的答案here

另请参阅讨论here