ImportError: No module named jinja2

Question:

Using google-app-engine tutorial, I got the following error stack message:

Traceback (most recent call last):
File "C:Program Files (x86)Googlegoogle_appenginegoogleappengineruntimewsgi.py", line 239, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "C:Program Files (x86)Googlegoogle_appenginegoogleappengineruntimewsgi.py", line 298, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "C:Program Files (x86)Googlegoogle_appenginegoogleappengineruntimewsgi.py", line 84, in LoadObject
obj = __import__(path[0])
File "D:DevSandBoxeswebomahaomaha.py", line 4, in <module>
import jinja2
ImportError: No module named jinja2

Even though I declared it in the libraries from 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

Has anyone had a similar problem?

Asked By: Cyril

||

Answers:

Even though it’s declared in your libraries it doesn’t necessarily mean the dev app server can find the library within the appengine sdk.

Since you’re running the tutorial, I’m assuming you are running the application from googles app engine launcher. Within the laucher go into “Edit” >> “Prefences” and set your Python Path and SDK Path.

enter image description here

Answered By: Jesse

Need to restart application in AEL.

The application in Google App Engine Launcher must be restarted for new library calls to be taken into account.
I was mislead by the fact all other changes dont need actual restart of the server.

Answered By: Cyril

In order to use Jinja locally, you need to install it locally

easy_install Jinja2

or

pip install Jinja2
Answered By: topless

You may not have added the following lines to app.yaml:

- name: jinja2
  version: latest
Answered By: Kees Briggs

Use these commands to get pip and Jija2 installed for Python 3:

sudo apt-get install python3-pip
sudo pip3 install Jinja2
Answered By: user3546879

I had this error when the flask package threw this error:

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

Solution:

sudo apt-get install python-flask

It seems to install Jinja as a dependency. Perhaps this helps someone.

brew install jinja2-cli

for them brew users

Answered By: Ivan Yulin

Please lower the version for jinja.This worked for me.

pip install Jinja2==3.0.3

Answered By: Alan