导入错误:无法导入名称normalize。

5
我尝试使用Django的国际化(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+下运行。有什么想法吗?

1个回答

12

我猜想您在项目中有一个名为locale的文件夹,并且其中包含一个__init__.py文件。 删除这个文件(翻译功能不需要它),然后您就可以继续进行了。


我确实有一个__init__文件,但删除它(和.pyc文件)之后,它仍然崩溃:( - PenthousePauper
1
哎呀,你说得对:find . -name "*.pyc" | xargs rm 就可以了;-) - PenthousePauper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接