5

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+ で実行されています。何か案は?

4

1 に答える 1

12

プロジェクト内のどこかに __init__.py ファイルを含むフォルダー locale があると思います。このファイルを削除してください (翻訳が機能するためには必要ありません)。

于 2012-06-04T00:38:29.563 に答える