Google App Engine jinja2: ImportError: нет модуля с именем _markupsafe - программирование
Подтвердить что ты не робот

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.
4b9b3361

Ответ 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.