DjangoのcreatesuperuserでValue Errorが発生する場合の対処法

自動生成される管理コンソールは、Djangoのセールスポイントの一つとして挙げられています。この管理コンソールのユーパーユーザーは「createsuperuser」コマンドで作成できるとドキュメントにありましたが、実際に叩いてみるとエラーが発生してしまいました。その解決方法を調べたのでメモを残しておきます。

createsuperuserでエラーになる場合の対処法

まずは発生した例外ですが、以下のように「Value Error」が発生していました。

$ python manage.py createsuperuser
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
...
    raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8

そして解決法です。この例外は環境変数に「LC_CTYPE」を定義したら発生しなくなりました。※ 下のactivateとdeactivateは、virtualenv環境を使っていない場合

$ vi ~/.bashrc
LC_CTYPE="ja_JP.UTF-8"
$ source ~/.bash_profile
$ deactivate
$ source {virtualenvのpath}/bin/activate
$ python manage.py createsuperuser
...
Superuser created successfully.

なお、この解決策はこちらのディスカッションに載っていたものです。

この記事が役に立った場合、シェアしていただけると励みになります!!