Django 1.4のsyncdbでエラー

Django 1.4でsyncdbして、管理ユーザーを作成するところで以下のエラーが発生しました。
環境はmacosx 10.7.4。

Traceback (most recent call last):
  File "/Applications/PyCharm.app/helpers/pycharm/django_manage.py", line 20, in <module>
    run_module(manage_file, None, '__main__', True)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 176, in run_module
    fname, loader, pkg_name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 82, in _run_module_code
    mod_name, mod_fname, mod_loader, pkg_name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/Users/yuhei/Dropbox/workspace/django_sample/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
    utility.execute()
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
    output = self.handle(*args, **options)
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/core/management/base.py", line 371, in handle
    return self.handle_noargs(**options)
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 110, in handle_noargs
    emit_post_sync_signal(created_models, verbosity, interactive, db)
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/core/management/sql.py", line 189, in emit_post_sync_signal
    interactive=interactive, db=db)
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 172, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py", line 73, in create_superuser
    call_command("createsuperuser", interactive=True, database=db)
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/core/management/__init__.py", line 150, in call_command
    return klass.execute(*args, **defaults)
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
    output = self.handle(*args, **options)
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 70, in handle
    default_username = get_default_username()
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py", line 105, in get_default_username
    default_username = get_system_username()
  File "/Users/yuhei/.virtualenvs/django14/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py", line 85, in get_system_username
    return getpass.getuser().decode(locale.getdefaultlocale()[1])
TypeError: decode() argument 1 must be string, not None


既知の不具合のようで、こちらで報告されています
https://code.djangoproject.com/ticket/16017


チケットによると、この不具合は以下のコードでデフォルトロケールが取得できない場合に発生します

import locale
locale.getdefaultlocale() #=> (None, None)


コメントにある通り、環境変数LANGを設定することで回避できました

export LANG='ja_JP.UTF-8'


locale.getdefaultlocale()は設定した値を返すようになります

import locale
locale.getdefaultlocale() #=> ('ja_JP', 'UTF-8')