首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复Python中的"ValueError:未知提取方法' Jinja2 '“错误?( Jinja2国际化?)

如何修复Python中的"ValueError:未知提取方法' Jinja2 '“错误?( Jinja2国际化?)
EN

Stack Overflow用户
提问于 2019-09-07 02:15:58
回答 1查看 140关注 0票数 0

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

我所有的包都更新了(金字塔,setuptools,babel,jinja2)。

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

代码语言:javascript
运行
复制
# 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

代码语言:javascript
运行
复制
[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
EN

回答 1

Stack Overflow用户

发布于 2019-09-07 12:08:21

我修复了这个错误,使用pip包管理器手动重新安装Jinja2库和babel库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57826842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档