鹈鹕3.3 pelican快速启动错误“ValueError:未知区域:UTF-8”

当我试图使用pelican3.3时,我input了“鹈鹕快速入门”的命令,出现了一些错误。

这些是错误:

(PelicanEnv)59-127-113-90:myblog Richo$ pelican-quickstart Traceback (most recent call last): File "/Users/Richo/Dropbox/Github/PelicanEnv/bin/pelican-quickstart", line 9, in <module> load_entry_point('pelican==3.3', 'console_scripts', 'pelican-quickstart')() File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point return ep.load() File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load entry = __import__(self.module_name, globals(),globals(), ['__name__']) File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/pelican/__init__.py", line 16, in <module> from pelican.generators import (ArticlesGenerator, PagesGenerator, File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/pelican/generators.py", line 20, in <module> from pelican.readers import Readers File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/pelican/readers.py", line 11, in <module> import docutils.core File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/docutils/core.py", line 20, in <module> from docutils import frontend, io, utils, readers, writers File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/docutils/frontend.py", line 41, in <module> import docutils.utils File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/docutils/utils/__init__.py", line 20, in <module> import docutils.io File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/docutils/io.py", line 18, in <module> from docutils.utils.error_reporting import locale_encoding, ErrorString, ErrorOutput File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/site-packages/docutils/utils/error_reporting.py", line 47, in <module> locale_encoding = locale.getlocale()[1] or locale.getdefaultlocale()[1] File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/locale.py", line 513, in getdefaultlocale return _parse_localename(localename) File "/Users/Richo/Dropbox/Github/PelicanEnv/lib/python2.7/locale.py", line 445, in _parse_localename raise ValueError, 'unknown locale: %s' % localename ValueError: unknown locale: UTF-8 

我的操作系统是OS X Mavericks。

您可以尝试在这里或这里张贴的解决scheme。 基本上,添加一些行到你的〜/ .bash_profile:

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

有一个与这个问题有关的杰出的错误报告 。 看来,Python对区域设置名称的格式做了一些假设,这些名称并不是普遍有效的。 显式设置这些环境variables基本上只是该错误的解决方法。

[编辑:]正如@asmeurer正确指出,上述修复假设英语和美国你应该真正从locale -a (通常是以UTF-8结尾的)列表中select你的首选语言环境。

Gerrat的答案是有效的,我相信我们应该提到,如果你使用类似zsh ,你应该添加行到~/.zshrc而不是~/.bash_profile~/.bash_rc

楼上的答案很快就好了! 但是我相信像我这样懒的人要改变全球的环境,以防万一再改变另一个login用户。 所以我们需要改变这个文件:

 sudo vi /etc/profile or sudo vi /etc/bashrc 

然后在下面的文件中添加这两行

 export LC_ALL="en_US.UTF-8" export LANG="en_US.UTF-8" 

请记住,不要错过其中的一个,它不适用于我只是$ LANG或$ LC_ALL。 之后运行命令来激活环境。

 sudo source /etc/profile sudo source /etc/bashrc source ~/.bash_profile source ~/.zshrc 

再一次,像我这样的懒惰的人可以完成一行命令。

 echo -e "export LC_ALL=en_US.UTF-8\nexport LANG=en_US.UTF-8" >> ~/.bash_profile && source ~/.bash_profile 

我把这个问题的答案转贴在这里,因为它被标记为这个问题的重复,在这个问题上被接受的答案在很多方面都是错误的。

这是OS X Terminal应用程序中的一个错误,只显示在某些语言环境(国家/语言组合)中。 在/ Applications / Utilities中打开terminal,取消勾选“启动时设置语言环境variables”。

在这里输入图像描述

这将设置您的LANG环境variables为空。 这可能会导致terminal使用不正确的设置为您的区域设置。 terminal中的locale命令会告诉你使用了什么设置。 要使用正确的语言,请将一行添加到您的bashconfiguration文件(通常为~/.profile

 export LANG=your-lang 

your-langreplace为您的语言的正确语言环境说明符。 命令locale -a将显示所有的说明符。 例如,美国英语的语言代码是en_US.UTF-8 。 语言环境会影响翻译的可用时间,以及date,货币和小数位的格式。

请注意,此图片和内容来自http://conda.pydata.org/docs/troubleshooting.html#unknown-locale (我也是该网页的原始作者)。

出于某种原因,我还需要:

 export LC_CTYPE=en_US.UTF-8 
Interesting Posts