web-dev-qa-db-fra.com

ModuleNotFoundError: aucun module nommé "google.appengine"

Je veux faire une recherche google en python3 sur windows. Les instructions de google indiquent qu'elles prennent en charge python3 et de taper "gcloud topic init" pour plus de détails - mais cela ne dit pas d'interprète pour python2.7. Dois-je installer python2.7 pour savoir comment le faire fonctionner sur python3?

Sur python3, je reçois un message d'erreur comme ci-dessous. J'ai mis en place une clé API et un moteur de recherche personnalisé. J'ai fait "pip installer google-api-python-client". J'ai téléchargé et exécuté GoogleCloudSDKInstaller. Voici l'erreur:

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

Je reçois:

[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
18
simon

Nécessite le paramètre cache_discovery=False lors de la création du service, comme suit:

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