python-babel / flask-babel

i18n and l10n support for Flask based on Babel and pytz
https://python-babel.github.io/flask-babel/
Other
432 stars 159 forks source link

AttributeError: module 'jinja2.ext' has no attribute 'autoescape' #195

Closed ElLorans closed 2 years ago

ElLorans commented 2 years ago

What is the latest supported jinja2 version?

When I run pybabel extract -F babel.cfg -k _l -o messages.pot . , I get

Traceback (most recent call last):
  File "C:\Users\Lorenzo\miniconda3\envs\icart\Scripts\pybabel-script.py", line 9, in <module>
    sys.exit(main())
  File "C:\Users\Lorenzo\miniconda3\envs\icart\lib\site-packages\babel\messages\frontend.py", line 929, in main
    return CommandLineInterface().run(sys.argv)
  File "C:\Users\Lorenzo\miniconda3\envs\icart\lib\site-packages\babel\messages\frontend.py", line 853, in run
    return cmdinst.run()
  File "C:\Users\Lorenzo\miniconda3\envs\icart\lib\site-packages\babel\messages\frontend.py", line 481, in run
    for filename, lineno, message, comments, context in extracted:
  File "C:\Users\Lorenzo\miniconda3\envs\icart\lib\site-packages\babel\messages\extract.py", line 149, in extract_from_dir
    for message_tuple in check_and_call_extract_file(
  File "C:\Users\Lorenzo\miniconda3\envs\icart\lib\site-packages\babel\messages\extract.py", line 207, in check_and_call_extract_file
    for message_tuple in extract_from_file(
    return list(extract(method, fileobj, keywords, comment_tags,
  File "C:\Users\Lorenzo\miniconda3\envs\icart\lib\site-packages\babel\messages\extract.py", line 325, in extract
    for lineno, funcname, messages, comments in results:
  File "C:\Users\Lorenzo\miniconda3\envs\icart\lib\site-packages\jinja2\ext.py", line 808, in babel_extract
    extensions[import_string(extension_name)] = None
  File "C:\Users\Lorenzo\miniconda3\envs\icart\lib\site-packages\jinja2\utils.py", line 149, in import_string
    return getattr(__import__(module, None, None, [obj]), obj)
AttributeError: module 'jinja2.ext' has no attribute 'autoescape'

Jinja2 version is 3.1.1 flask-babel is 2.0.0 babel is 2.9.1

ElLorans commented 2 years ago

Jinja 2.11.3 appears to work. I have created #196

TkTech commented 2 years ago

Version 3.0.0 dropped autoescape and with extensions, which were just legacy placeholders. They didn't actually do anything. We should fix this by updating the documentation.

For your problem, the solution is to edit your babel.cfg and edit the extensions= line so that it's blank.

ElLorans commented 2 years ago

Thanks!