Jinja is a dependency of Flask and Flask V1.X.X uses the escape module from Jinja, however recently support for the escape module was dropped in newer versions of Jinja.
To fix this issue, simply update to the newer version of Flask V2.X.X in your requirements.txt where Flask no longer uses the escape module from Jinja.
Flask>=2.2.2
Also, do note that Flask V1.X.X is no longer supported by the team. If you want to continue to use this older version, this Github issue may help.
Answer from Ryan on Stack OverflowJinja is a dependency of Flask and Flask V1.X.X uses the escape module from Jinja, however recently support for the escape module was dropped in newer versions of Jinja.
To fix this issue, simply update to the newer version of Flask V2.X.X in your requirements.txt where Flask no longer uses the escape module from Jinja.
Flask>=2.2.2
Also, do note that Flask V1.X.X is no longer supported by the team. If you want to continue to use this older version, this Github issue may help.
This happens because Jinja has removed those functions in a recent version — 3.1.0 — released on March 24th, 2022.
Markupandescapeshould be imported from MarkupSafe.
You have two options form here:
either this error comes from one of your dependency.
The first thing you should consider is to upgrade the said dependence(s).
If this is not possible, what you can do, from here is to downgrade your Jinja version to a version that would still includeescape, for example, adding it explicitly in your requirements.txt:jinja2<3.1.0or, your error is from code you wrote, so you can fix it by importing it from MarkupSafe, as suggested in the Jinja release notes.
So, you should use
from markupsafe import escapeinstead of
from jinja2 import escape