En utilisant le didacticiel google-app-engine, j'ai reçu le message d'erreur suivant:
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 239, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 298, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 84, in LoadObject
obj = __import__(path[0])
File "D:\Dev\SandBoxes\web\omaha\omaha.py", line 4, in <module>
import jinja2
ImportError: No module named jinja2
Même si je l'ai déclaré dans les bibliothèques de app.yaml:
application: ***
version: 1
runtime: python27
api_version: 1
threadsafe: true
libraries:
- name: jinja2
version: latest
- name: webapp2
version: latest
handlers:
- url: /css
static_dir: css
- url: /js
static_dir: js
- url: /img
static_dir: img
- url: /.*
script: omaha.application
Quelqu'un at-il eu un problème similaire?
Besoin de redémarrer l'application dans AEL.
L'application dans Google App Engine Launcher doit être redémarrée pour que les nouveaux appels de bibliothèque soient pris en compte. J'ai été induit en erreur par le fait que toutes les autres modifications n'ont pas besoin d'un redémarrage réel du serveur.
Pour utiliser Jinja localement, vous devez l'installer localement
easy_install Jinja2
ou
pip install Jinja2
Vous n'avez peut-être pas ajouté les lignes suivantes à app.yaml:
- name: jinja2
version: latest
Utilisez ces commandes pour installer pip et Jija2 pour Python 3:
Sudo apt-get install python3-pip
Sudo pip3 install Jinja2
Même s'il est déclaré dans vos bibliothèques, cela ne signifie pas nécessairement que le serveur d'applications dev peut trouver la bibliothèque dans le sdk appengine.
Puisque vous exécutez le didacticiel, je suppose que vous exécutez l'application à partir du lanceur de moteur d'application Google. Dans le lanceur, allez dans "Modifier" >> "Préférences" et définissez votre Python et chemin SDK.