21 votes

ModuleNotFoundError : Aucun module nommé 'google.appengine'.

Je veux faire une recherche google en python3 sur Windows. Les instructions de google disent qu'ils supportent python3 et qu'il faut taper "gcloud topic init" pour plus de détails - mais cela échoue en disant qu'il n'y a pas d'interpréteur pour python2.7. Dois-je installer python2.7 pour savoir comment le faire fonctionner sur python3 ?

Sur python3, j'obtiens un message d'erreur comme ci-dessous. J'ai configuré une clé API et un moteur de recherche personnalisé. J'ai fait "pip install 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")

J'ai compris :

[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

35voto

simon Points 984

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)

1voto

bahmait Points 359

Bien que cela arrive en ressemblant à une erreur en cascade, en regardant de près la première ligne, ce n'est en fait qu'un avertissement :

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

Ainsi, si vous n'avez pas accès à l'instanciation, vous pouvez la supprimer comme suit :

import logging

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

Vous obtiendrez toujours les erreurs réelles.

Avec nos remerciements à lesacodes qui a donné cette réponse aquí

Voir aussi la discussion aquí

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X