Kann jinja2 nicht mit webapp2 / Google App Engine laden

8

Ich gehe das GAE webapp2-Tutorial (Laufzeit 2.7) mit GoogleAppEngineLauncher auf meinem Mac durch, und obwohl ich alles genau befolge, erhalte ich immer einen Fehler an dem Punkt, an dem wir das Jinja2-Modul importieren: Verwenden von Vorlagen - Google App Engine

Fehler:

  

Traceback (letzter Aufruf zuletzt): Datei   "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py",   Zeile 168, in Handle-Handler =   _config_handle.add_wsgi_middleware (self._LoadHandler ()) Datei "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py",   Zeile 206, in _LoadHandler-Handler = Import (Pfad [0]) Datei   "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",   Zeile 640, in Verzierungsfunktion zurückgeben (selbst, * args, ** kwargs) Datei   "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",   Zeile 1756, in load_module return self.FindAndLoadModule (Submodul,   fullname, search_path) Datei   "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",   Zeile 640, in Verzierungsfunktion zurückgeben (selbst, * args, ** kwargs) Datei   "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",   Zeile 1628, in FindAndLoadModule Beschreibung) Datei   "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",   Zeile 640, in Verzierungsfunktion zurückgeben (selbst, * args, ** kwargs) Datei   "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",   Zeile 1571, in LoadModuleRestricted Beschreibung) File   "/Users/ykessler/Dropbox/appgrinders/gae_apps/helloworld2.7/helloworld.py",   Zeile 9, im Import jinja2 ImportError: Kein Modul namens jinja2

So kann es aus irgendeinem Grund das Modul nicht finden, obwohl es als Teil der Extras von webapp2 verpackt werden soll. Wenn ich nach meinem Dateisystem suche, sieht es so aus, als wäre es da:

%Vor%

Und wenn ich die App für GAE bereitstelle, funktioniert es gut. Warum sollte es lokal versagen?

    
Yarin 14.11.2011, 22:04
quelle

3 Antworten

7

webapp2 packt sein eigenes jinja2-Leimmodul, das Sie importieren, aber es packt jinja2 selbst nicht. Wenn Sie es verwenden möchten, müssen Sie es in Ihrem System Python mit easy_install installieren oder es in das Verzeichnis Ihrer App einfügen.

    
Nick Johnson 14.11.2011, 23:17
quelle
7

Verwenden Sie nicht den Parameter latest in der Datei app.yaml, und geben Sie eine Version an, um eine höchst unwahrscheinliche, aber dennoch mögliche Inkompatibilitätskatastrophe zu vermeiden.

Alias, geben Sie 2,6 an. Dies ist die einzige Unterstützung, die gemäß den Dokumenten unterstützt wird >.

%Vor%

Dann, in Ihrem Skript, nur import jinja2 , wie wir es von den Dokumenten .

    
fiatjaf 21.04.2012 23:05
quelle
2

Ich habe auch diesen Fehler, um ihn zu beheben Ich musste jinja2 am Ende meiner app.yaml Datei hinzufügen (wie es am Anfang des Tutorials heißt ..)

  

Füge am Ende von helloworld / app.yaml Folgendes hinzu:

%Vor%     
robert king 08.03.2012 03:27
quelle