3.3 Пеликан Пеликан-краткое ошибку "ValueError: неизвестен язык: кодировка UTF-8"
когда я пытался использовать pelican3. 3, я набрал похвалу "pelican-quickstart", появились некоторые ошибки.
это ошибки:
(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.
5 ответов:
вы можете попробовать решение опубликовано здесь или здесь. В принципе, добавьте несколько строк в свой~/.файл:
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8
есть выдающийся сообщить об ошибке связано с этой проблемой. Кажется, что Python делает некоторые предположения о формате имен локали, не общезначимы. Явная установка этих vars среды-это в основном просто обходной путь для этой ошибки.
[Edit:] As @asmeurer правильно, указанное выше исправление предполагает на английском языке и в США, вы должны выбрать предпочитаемый язык из списка, данного
locale -a
(обычно тот, который заканчивается вUTF-8
).
Геррат ответ работает, и я считаю, мы должны отметить, что если вы используете что-то вроде
zsh
, вы должны добавить строки в~/.zshrc
вместо~/.bash_profile
или~/.bash_rc
наверху, ответы были быстрые здорово! Но я считаю, что люди ленивые, как я, хотят изменить глобальную среду в случае, если она никогда не изменится снова, а изменится на другого пользователя входа. Поэтому нам нужно изменить файл так:
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, которая отображается только в определенных локалях (комбинации стран/языков). Откройте терминал в /приложения / утилиты и снимите флажок " установить переменные среды locale on пуск."
это установит ваш
LANG
переменная окружения должна быть пустой. Это может привести к использованию терминала с неверными настройками для вашей локали. Команда locale в терминале сообщит вам, какие настройки используются. Чтобы использовать правильный язык, добавьте строку в свой профиль bash (обычно~/.profile
)export LANG=your-lang
заменить
your-lang
С правильным спецификатором локали для вашего языка. Командаlocale -a
покажет вам все описатели. Например, код языка для US English -en_US.UTF-8
. Языковой стандарт влияет на то, какие переводы используются, когда они доступны, а также как форматируются даты, валюты и десятичные знаки.обратите внимание, что это изображение и контент были взяты из http://conda.pydata.org/docs/troubleshooting.html#unknown-locale (я также являюсь оригинальным автором этой страницы).