为什么在某些情况下需要为Python手动设置LC_CTYPE

时间:2014-01-21 06:58:34

标签: python django unix utf-8

我正在尝试使用Django的管理员文档。我按照this教程安装了 docutils 。安装完成后,我通过 python manage.py runserver 运行Django开发服务器,并获得错误未知区域设置:UTF-8

我解决了this问题中解释的问题:

export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

但我的问题是:这个问题的根源是什么?似乎 docutils Python 或其他什么有一些兼容性问题?< / p>

1 个答案:

答案 0 :(得分:1)

这是一个老问题,但仍然在OSX El Capitan上发生。此问题的根源是Python假定语言环境变量采用language_region.encoding的格式。这个假设在Python方面是严格的,因为当有效的语言和区域对不可用时,OSX默认为UTF-8。

bugs.python.org

详细讨论此问题