ImportError: нет модуля с именем jinja2
Используя учебник по Google-приложению, я получил следующее сообщение об ошибке:
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
Даже если я объявил это в библиотеках из 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
У кого-то была аналогичная проблема?
Ответы
Ответ 1
Необходимо перезапустить приложение в AEL.
Приложение в Google App Engine Launcher необходимо перезапустить, чтобы новые учетные записи библиотеки были приняты во внимание.
Я был введен в заблуждение тем фактом, что все другие изменения не требуют фактического перезапуска сервера.
Ответ 2
Чтобы использовать Jinja локально, вам необходимо установить его локально
easy_install Jinja2
или
pip install Jinja2
Ответ 3
Возможно, вы не добавили следующие строки в app.yaml:
- name: jinja2
version: latest
Ответ 4
Несмотря на то, что он объявлен в ваших библиотеках, это не обязательно означает, что сервер-разработчик dev может найти библиотеку в appengine sdk.
Поскольку вы запускаете учебное пособие, я предполагаю, что вы запускаете приложение из запуска программы запуска googles. В пределах laucher перейдите в "Редактировать" → "Prefences" и установите Путь Python и путь SDK.
![enter image description here]()
Ответ 5
Используйте эти команды, чтобы установить pip и Jija2 для Python 3:
sudo apt-get install python3-pip
sudo pip3 install Jinja2