【问题标题】:ImportError: cannot import name normalizeImportError:无法导入名称规范化
【发布时间】:2012-06-03 23:58:31
【问题描述】:

我尝试使用 djangos i18n,因此必须安装 gettext。现在,每当我尝试启动我的应用程序时,都会遇到这个尴尬的错误:

Traceback (most recent call last):
  File "/var/www/mydjangoproject/manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
  File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/management/__init__.py", line 4, in <module>
    from optparse import OptionParser, NO_DEFAULT
  File "/usr/lib/python2.7/optparse.py", line 418, in <module>
    _builtin_cvt = { "int" : (_parse_int, _("integer")),
  File "/usr/lib/python2.7/gettext.py", line 581, in gettext
    return dgettext(_current_domain, message)
  File "/usr/lib/python2.7/gettext.py", line 545, in dgettext
    codeset=_localecodesets.get(domain))
  File "/usr/lib/python2.7/gettext.py", line 480, in translation
    mofiles = find(domain, localedir, languages, all=1)
  File "/usr/lib/python2.7/gettext.py", line 437, in find
    for nelang in _expand_lang(lang):
  File "/usr/lib/python2.7/gettext.py", line 131, in _expand_lang
    from locale import normalize

  ImportError: cannot import name normalize

库 locale.py 存在,我可以导入它。 Django 1.4 在 Python 2.7.2+ 下运行。有什么想法吗?

【问题讨论】:

    标签: python django locale gettext


    【解决方案1】:

    我猜你的项目中有一个文件夹区域设置,其中包含一个 __init__.py 文件。 删除此文件(翻译工作不需要它),您应该一切顺利。

    【讨论】:

    • 我确实有一个 init 文件,但在删除它(和 .pyc)后,它仍然崩溃:(
    • 啊,你是对的:find . -name "*.pyc" | xargs rm 做到了;-)
    猜你喜欢
    • 1970-01-01
    • 2016-03-31
    • 2014-10-10
    • 2014-09-20
    • 2014-08-28
    • 2014-06-10
    • 2016-05-16
    • 2019-05-25
    • 2017-04-22
    相关资源
    最近更新 更多