29

使用 google-app-engine 教程,我收到以下错误堆栈消息:

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

有没有人遇到过类似的问题?

4

6 回答 6

30

要在本地使用 Jinja,需要在本地安装

easy_install Jinja2

或者

pip install Jinja2
于 2013-09-24T13:30:52.773 回答
7

需要在 AEL 中重新启动应用程序。

必须重新启动 Google App Engine Launcher 中的应用程序才能考虑新的库调用。我被所有其他更改都不需要实际重新启动服务器这一事实误导了。

于 2013-09-23T03:28:28.447 回答
5

您可能没有在 app.yaml 中添加以下行:

- name: jinja2
  version: latest
于 2016-11-08T15:17:46.393 回答
2

使用这些命令为 Python 3 安装 pip 和 Jija2:

sudo apt-get install python3-pip
sudo pip3 install Jinja2
于 2017-08-26T00:17:52.657 回答
0

即使它已在您的库中声明,也不一定意味着开发应用服务器可以在 appengine sdk 中找到该库。

由于您正在运行本教程,我假设您正在从谷歌应用引擎启动器运行应用程序。在 laucher 中进入“编辑”>>“首选项”并设置您的 Python 路径和 SDK 路径。

在此处输入图像描述

于 2013-09-22T14:43:17.477 回答
0

当烧瓶包抛出这个错误时,我遇到了这个错误:

import flask
  File "/usr/local/lib/python2.7/dist-packages/flask/__init__.py", line 19, in <module>
    from jinja2 import Markup, escape
ImportError: No module named jinja2

解决方案:

sudo apt-get install python-flask

似乎将 Jinja 作为依赖项安装。也许这对某人有帮助。

于 2021-12-11T00:07:12.223 回答