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です。
here または here に投稿されたソリューションを試すことができます。基本的に、〜/ .bash_profileにいくつかの行を追加します。
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
この問題に関連する未解決の バグレポート があります。 Pythonは、普遍的に有効ではないロケール名の形式についていくつかの仮定を行っているようです。これらの環境変数を明示的に設定することは、基本的にそのバグの回避策です。
[編集:]@asmeurerが正しく指摘しているように、上記の修正は英語と米国を想定しています。locale -a
で指定されたリストからお好みのロケールを選択してください。 (通常、UTF-8
で終わるもの)。
Gerratの答えはうまくいきます。zsh
のようなものを使用する場合は、~/.zshrc
または~/.bash_profile
の代わりに~/.bash_rc
に行を追加する必要があることに言及する必要があります
2階の答えは素晴らしかったです!しかし、私と同じように怠け者は、別のログインユーザーに変更するときに再び変更しないように、グローバル環境を変更したいと考えています。そのため、次のようにファイルを変更する必要があります。
Sudo vi /etc/profile or Sudo vi /etc/bashrc
そして、次のファイルに2行を追加します
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
それらの1つを見逃さないでください。$ 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
この質問 から回答を再投稿しています。これは、この質問の複製としてマークされており、この質問で受け入れられた回答が多くの場合間違っているためです方法
これは、特定のロケール(国/言語の組み合わせ)でのみ表示されるOS Xターミナルアプリのバグです。 /アプリケーション/ユーティリティでターミナルを開き、「起動時にロケール環境変数を設定する」ボックスのチェックを外します。
これにより、LANG
環境変数が空に設定されます。これにより、端末の使用がロケールに対して誤った設定になる可能性があります。ターミナルのロケールコマンドは、使用されている設定を示します。正しい言語を使用するには、bashプロファイルに行を追加します(通常は~/.profile
)
export LANG=your-lang
your-lang
をご使用の言語の正しいロケール指定子に置き換えます。コマンドlocale -a
は、すべての指定子を表示します。たとえば、米国英語の言語コードはen_US.UTF-8
です。ロケールは、使用可能な場合に使用される翻訳に影響を及ぼし、日付、通貨、および小数の形式にも影響します。
この画像とコンテンツは http://conda.pydata.org/docs/troubleshooting.html#unknown-locale から取得したことに注意してください(私はそのページの元の著者でもあります)。
何らかの理由で私も必要でした:
export LC_CTYPE=en_US.UTF-8
ここで挙げた解決策はどれも、ローカルアプリエンジン環境でpython 3.7プロジェクトを実行するのに役立ちませんでした。
コマンドラインからロケールを取得することはできますが、
python3 -c 'import locale; print(locale.getdefaultlocale());'
('en_US', 'UTF-8')
そのロケールは、App Engine環境内で見つかりませんでした:
File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/locale.py", line 568, in getdefaultlocale
return _parse_localename(localename)
File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/locale.py", line 495, in _parse_localename
raise ValueError('unknown locale: %s' % localename)
ValueError: unknown locale: UTF-8
そのため、app.yamlファイルでenv_variables
を明示的に設定する必要がありました。
env_variables:
LC_ALL: "en_US:UTF_8"
LC_CTYPE: "en_US:UTF_8"
そして、それはバグを解決しました。