【问题标题】:How to fix "ValueError: Unknown extraction method 'jinja2'" error in Python ?( Jinja2 Internationalization ?)如何修复 Python 中的“ValueError:未知提取方法'jinja2'”错误?(Jinja2 国际化?)
【发布时间】:2020-01-09 14:48:22
【问题描述】:

我需要从我的金字塔网络应用程序中提取 jinja2 文件中的消息,Babel 具有三种默认提取方法(javascript、python、忽略)。如何添加 Jinja2 提取方法?

我所有的包都更新了(pyramid、setuptools、babel、jinja2)。

我的 setup.py 文件和 setup.cfg 文件在同一个目录中,我在终端上使用了python setup.py develop,在从 py 文件中成功提取一些消息后发生错误,错误 => ValueError: Unknown extraction method 'jinja2':

# from distutils.core import setup
# # from babel.messages import frontend

from setuptools import setup
import setuptools

setuptools.dist.Distribution(dict(setup_requires='Babel'))  # for message_extractors line below (else warnings / errors)

requires = [
    'pyramid', 'peewee', 'configparser', 'khayyam', 'Babel',
    'lingua', 'pyramid_redis_sessions', 'bcrypt', 'tornado', 'jinja2', 'pyramid-jinja2'
]

setup(name='Genetic',
      install_requires=requires,
      entry_points="""
      [paste.app_factory]
      main = Genetic:main
      """,
      author="Javad Asoodeh",
      author_email="##",
      message_extractors={'.': [
          ('Genetic/**.py', 'python', None),
          ('Genetic/**.jinja2', 'jinja2', {'input_encoding': 'utf-8'}),
          ('Genetic/template/base/**.jinja2', 'jinja2', {'input_encoding': 'utf-8'}),
          ('Genetic/templates/**.html', 'jinja2', {'input_encoding': 'utf-8'}),
          ('Genetic/templates/**.jinja2', 'jinja2', {'input_encoding': 'utf-8'}),
      ]},
      )


我的 Babel 配置文件setup.cfg

[jinja2: **/templates/**.jinja2]
extensions=jinja2.ext.i18n
encoding = utf-8

[compile_catalog]
directory = Genetic/locale
domain = Genetic
statistics = true

[extract_messages]
add_comments = TRANSLATORS:
output_file = Genetic/locale/Genetic.pot
width = 80
input_dirs = Genetic/templates

[init_catalog]
domain = Genetic
input_file = Genetic/locale/Genetic.pot
output_dir = Genetic/locale

[update_catalog]
domain = Genetic
input_file = Genetic/locale/Genetic.pot
output_dir = Genetic/locale
previous = true

【问题讨论】:

标签: python jinja2 setuptools pyramid python-babel


【解决方案1】:

我通过使用 pip 包管理器手动重新安装 Jinja2 库和 babel 库来修复此错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    相关资源
    最近更新 更多