Google App Engine jinja2: ImportError: нет модуля с именем _markupsafe
Если вы следуете руководству по началу работы с Python2.7, вы можете перейти к шаблону здесь. Для меня на Ubuntu 11.10 я получаю ужасную трассировку стека, которая заканчивается:
File "/home/fratrik/code/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 1571, in LoadModuleRestricted
description)
File "/usr/lib/python2.7/dist-packages/jinja2/utils.py", line 587, in <module>
from jinja2._markupsafe import Markup, escape, soft_unicode
ImportError: No module named _markupsafe
Важная часть на самом деле вверху:
ERROR 2011-11-13 00:48:12,767 dev_appserver_import_hook.py:1386] Third party package markupsafe must be included in the "libraries:" clause of your app.yaml file in order to be imported.
Ответы
Ответ 1
Ответ заключается в следующем: app.yaml
libraries:
- name: jinja2
version: latest
- name: markupsafe
version: latest
(для python2.7)
Ответ 2
Вы можете импортировать модуль jinja2, который поставляется с движком приложения sdk.
Добавьте путь к google_appengine/lib/webapp2
и google_appengine/lib/webapp2/webapp2_extras
в каталог $PYTHONPATH
.
import webapp2
from webapp2_extras import jinja2
вместе с элементами yaml.