ModuleNotFoundError: No module named 'google.appengine'

simon picture simon · Apr 7, 2019 · Viewed 7.6k times · Source

I want to do a google search in python3 on windows. The google instructions say they support python3 and to type "gcloud topic init" for details - but that fails saying no interpreter for python2.7. Do I have to install python2.7 to find out how to get it working on python3?

On python3 I get an error message as below. I have set up an API key and a Custom search engine. I did "pip install google-api-python-client". I downloaded and ran GoogleCloudSDKInstaller. This is the error:

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

I get:

[googleapiclient.discovery_cache:WARNING]:file_cache is unavailable when using oauth2client >= 4.0.0 or google-auth (__init__.py:44, time=Apr-07 17:25) Traceback (most recent call last):   File "C:\Users\simon\Anaconda3\lib\site-packages\googleapiclient\discovery_cache\__init__.py", line 36, in autodetect
    from google.appengine.api import memcache ModuleNotFoundError: No module named 'google.appengine'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File "C:\Users\simon\Anaconda3\lib\site-packages\googleapiclient\discovery_cache\file_cache.py", line 33, in <module>
    from oauth2client.contrib.locked_file import LockedFile ModuleNotFoundError: No module named 'oauth2client'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File "C:\Users\simon\Anaconda3\lib\site-packages\googleapiclient\discovery_cache\file_cache.py", line 37, in <module>
    from oauth2client.locked_file import LockedFile ModuleNotFoundError: No module named 'oauth2client'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File "C:\Users\simon\Anaconda3\lib\site-packages\googleapiclient\discovery_cache\__init__.py", line 41, in autodetect
    from . import file_cache   File "C:\Users\simon\Anaconda3\lib\site-packages\googleapiclient\discovery_cache\file_cache.py", line 41, in <module>
    'file_cache is unavailable when using oauth2client >= 4.0.0 or google-auth') ImportError: file_cache is unavailable when using oauth2client >= 4.0.0 or google-auth [googleapiclient.discovery:INFO]:URL being requested: GET https://www.googleapis.com/discovery/v1/apis/customsearch/v1/rest?key=AIzaSyBGDtIo_P8xXbn0ksb15wUhy6sdR_eBDpU

Answer

simon picture simon · Apr 7, 2019

Needs the parameter cache_discovery=False when creating service, like follows:

service = discovery.build('customsearch', 'v1', credentials=<...>, cache_discovery=False)