157

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はOS X Mavericksです。

4

6 に答える 6

459

ここまたはここに投稿された解決策を試すことができます。基本的に、~/.bash_profile にいくつかの行を追加します。

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

この問題に関連する未解決のバグ レポートがあります。Python は、普遍的に有効ではないロケール名の形式についていくつかの仮定を行っているようです。これらの環境変数を明示的に設定することは、基本的にそのバグの回避策にすぎません。

[編集:] @asmeurer が正しく指摘しているように、上記の修正は英語と米国を想定していlocale -aますUTF-8

于 2013-11-13T18:19:45.047 に答える
10

Gerratの答えはうまくいきます。 のようなものを使用する場合は、またはの代わりにzsh行を追加する必要があることに言及する必要があると思います~/.zshrc~/.bash_profile~/.bash_rc

于 2016-04-08T02:28:35.163 に答える
10

2階の答えはすばらしかったです!しかし、私のような怠け者は、別のログインユーザーに変更するときに二度と変更しない場合に備えて、グローバル環境を変更したいと考えています。したがって、次のようにファイルを変更する必要があります。

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

そして、次のファイルに2行を追加します

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

繰り返しますが、私のような怠け者は 1 行のコマンドで終了できます。

echo -e "export LC_ALL=en_US.UTF-8\nexport LANG=en_US.UTF-8" >> ~/.bash_profile && source ~/.bash_profile
于 2016-08-04T03:26:54.210 に答える
4

この質問の重複としてマークされているため、この質問からの回答をここに再投稿します。この質問に対する受け入れられた回答は多くの点で間違っています。

これは、特定のロケール (国/言語の組み合わせ) でのみ表示される OS X ターミナル アプリのバグです。/アプリケーション/ユーティリティでターミナルを開き、「起動時にロケール環境変数を設定する」ボックスのチェックを外します。

ここに画像の説明を入力

これにより、LANG環境変数が空に設定されます。これにより、端末の使用時にロケールの設定が正しくない場合があります。ターミナルの locale コマンドは、使用されている設定を教えてくれます。正しい言語を使用するには、bash プロファイルに行を追加します (通常は~/.profile)

export LANG=your-lang

your-langお使いの言語の正しいロケール指定子に置き換えてください。このコマンドlocale -aは、すべての指定子を表示します。たとえば、米国英語の言語コードはen_US.UTF-8. ロケールは、利用可能なときにどの翻訳が使用されるかに影響し、日付、通貨、および小数点の形式にも影響します。

この画像とコンテンツはhttp://conda.pydata.org/docs/troubleshooting.html#unknown-localeから取得したことに注意してください(私はそのページの元の作成者でもあります)。

于 2016-08-18T06:21:00.887 に答える
1

何らかの理由で私も必要でした:

export LC_CTYPE=en_US.UTF-8
于 2016-12-08T09:01:12.263 に答える