ModuleNotFoundError: нет модуля с именем google.appengine - PullRequest
5 голосов
/ 07 апреля 2019

Я хочу сделать поиск Google в python3 на Windows. В инструкциях 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: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

1 Ответ

8 голосов
/ 07 апреля 2019

При создании службы необходим параметр cache_discovery=False, например:

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