2016-09-09 5 views
0

J'essaie d'exécuter l'exemple de code https://github.com/google/google-api-python-client/tree/master/samples/appengine à partir du client Google API Python sur la plate-forme Google Cloud. Après avoir démarré l'application de test Je vois cette erreur:GAE introuvable httplib2

ImportError: No module named httplib2 

J'ai vérifié env nuage fourni et il a la lib disponible

Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/dist-packages 

/google/go_appengine/lib/httplib2 
/google/go_appengine/lib/httplib2/httplib2 
/google/google_appengine/lib/httplib2 
/google/google_appengine/lib/httplib2/httplib2 
/google/google-cloud-sdk/.install/.backup/lib/third_party/httplib2 
/google/google-cloud-sdk/.install/.backup/platform/bq/third_party/httplib2 
/google/google-cloud-sdk/.install/.backup/platform/gsutil/third_party/httplib2 
/google/google-cloud-sdk/.install/.backup/platform/gsutil/third_party/httplib2/python2/httplib2 
/google/google-cloud-sdk/.install/.backup/platform/gsutil/third_party/httplib2/python3/httplib2 
/google/google-cloud-sdk/lib/third_party/httplib2 
/google/google-cloud-sdk/platform/bq/third_party/httplib2 
/google/google-cloud-sdk/platform/google_appengine/lib/httplib2 
/google/google-cloud-sdk/platform/google_appengine/lib/httplib2/httplib2 
/google/google-cloud-sdk/platform/gsutil/third_party/httplib2 
/google/google-cloud-sdk/platform/gsutil/third_party/httplib2/python2/httplib2 
/google/google-cloud-sdk/platform/gsutil/third_party/httplib2/python3/httplib2 
/home/MY_USER/src/triple-carrier-142807/python_gae_quickstart-2016-09-08-10-47/httplib2 
/usr/local/lib/python2.7/dist-packages/httplib2 

Je peux importer dans la ligne de commande python:

Python 2.7.9 (default, Mar 1 2015, 12:57:24) 
[GCC 4.9.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import httplib2 
>>> 

Il doit être installé mais GAE ne le reconnaît pas.

+0

Avez-vous exécuté ce shell python avec env actif? – turkus

+0

Je ne suis pas sûr de ce que vous voulez dire. Le GAE était actif avec le déploiement ci-dessus qui ne fonctionne pas. J'ai exécuté la commande "dev_appserver.py $ PWD" et ouvert l'URL juste pour le tester. – Vladimir

+0

potentiellement lié: http://stackoverflow.com/questions/38848896/google-api-client-python-import-taskqueue –

Répondre

2

Je l'ai corrigé moi-même en plaçant httplib2 dans le répertoire moteur (le répertoire où existe app.yaml).

+0

Ce n'est pas une très bonne idée - que le code de httplib2 sera déployé à GAE dans le cadre de votre application et - si elle est exécutée à la place de httplib2 de GAE - votre application ne fonctionnera probablement pas. –

+0

S'il vous plaît élaborer sur ce qui ne pouvait pas fonctionner? J'ai fait la même chose avec la librairie googleapiclient et j'ai eu cette erreur: Fichier "/home/v_stariradev/src/triple-carrier-142807/google-api-python-client-vladi/appengine/googleapiclient/discovery.py" , ligne 20 , dans import six ImportError: aucun module nommé six – Vladimir

+0

Les bibliothèques fournies par GAE sont spécialement personnalisées pour l'environnement GAE. Vous ne pouvez pas simplement utiliser votre propre lib (ou la librairie locale de développement GAE), que vous tenteriez effectivement en copiant/liant le httplib2 local dans votre répertoire app. BTW, ce dont je parle est des problèmes potentiels lors du déploiement sur GAE, pas sur votre serveur de développement (l'erreur 'six' n'est pas liée à cela - il y a des threads sur SO). –