最新の Mac OSX 64ビットAnaconda Pythonディストリビューション )をインストールした後、IPython Notebookを起動しようとするとValueErrorが発生し続けます。
Ipythonを起動するとうまくいきます:
3-millerc-~:ipython
Python 2.7.3 |Anaconda 1.4.0 (x86_64)| (default, Feb 25 2013, 18:45:56)
Type "copyright", "credits" or "license" for more information.
IPython 0.13.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
しかし、ipythonノートブックの起動:
4-millerc-~:ipython notebook
ValueErrorの結果(トレースバック付き):
Traceback (most recent call last):
File "/Users/millerc/anaconda/bin/ipython", line 7, in <module>
launch_new_instance()
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/frontend/terminal/ipapp.py", line 388, in launch_new_instance
app.initialize()
File "<string>", line 2, in initialize
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 84, in catch_config_error
return method(app, *args, **kwargs)
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/frontend/terminal/ipapp.py", line 313, in initialize
super(TerminalIPythonApp, self).initialize(argv)
File "<string>", line 2, in initialize
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 84, in catch_config_error
return method(app, *args, **kwargs)
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/core/application.py", line 325, in initialize
self.parse_command_line(argv)
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/frontend/terminal/ipapp.py", line 308, in parse_command_line
return super(TerminalIPythonApp, self).parse_command_line(argv)
File "<string>", line 2, in parse_command_line
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 84, in catch_config_error
return method(app, *args, **kwargs)
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 420, in parse_command_line
return self.initialize_subcommand(subc, subargv)
File "<string>", line 2, in initialize_subcommand
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 84, in catch_config_error
return method(app, *args, **kwargs)
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 352, in initialize_subcommand
subapp = import_item(subapp)
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/utils/importstring.py", line 40, in import_item
module = __import__(package,fromlist=[obj])
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/frontend/html/notebook/notebookapp.py", line 46, in <module>
from .handlers import (LoginHandler, LogoutHandler,
File "/Users/millerc/anaconda/lib/python2.7/site-packages/IPython/frontend/html/notebook/handlers.py", line 36, in <module>
from docutils.core import publish_string
File "/Users/millerc/anaconda/lib/python2.7/site-packages/docutils/core.py", line 20, in <module>
from docutils import frontend, io, utils, readers, writers
File "/Users/millerc/anaconda/lib/python2.7/site-packages/docutils/frontend.py", line 41, in <module>
import docutils.utils
File "/Users/millerc/anaconda/lib/python2.7/site-packages/docutils/utils/__init__.py", line 20, in <module>
from docutils.io import FileOutput
File "/Users/millerc/anaconda/lib/python2.7/site-packages/docutils/io.py", line 18, in <module>
from docutils.utils.error_reporting import locale_encoding, ErrorString, ErrorOutput
File "/Users/millerc/anaconda/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/millerc/anaconda/lib/python2.7/locale.py", line 503, in getdefaultlocale
return _parse_localename(localename)
File "/Users/millerc/anaconda/lib/python2.7/locale.py", line 435, in _parse_localename
raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8
ターミナルからlocale
コマンドを実行します。
5-millerc-~:locale
LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
ここで見つけられる解決策を要約します: http://blog.lobraun.de/2009/04/11/Mercurial-on-mac-os-x-valueerror-unknown-locale-utf-8/
これらの行を.bash_profile
に追加しました:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
プロファイルをリロードしました:
source ~/.bash_profile
次に、ipython
を再度実行しました。
ipython notebook
上記は、米国ロケールの英語に対して機能します。別の設定が必要な場合があります。
システムの現在の設定を見つけるには、明白なことを述べる危険を冒して、以下を使用します。
$ locale
また、システム上のすべての有効な設定のリストを取得するには:
$ locale -a
次に、希望するロケールを選択します。たとえば、スイスのフランス語ロケールの場合、ソリューションは次のようになります。
export LC_ALL=fr_CH.UTF-8
export LANG=fr_CH.UTF-8
これは、特定のロケール(国/言語の組み合わせ)でのみ表示される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 から取得したことに注意してください(私はそのページの元の著者でもあります)。
メニューに行くiTermで
Preferences -> Profiles -> Terminal -> (Environment)
そして、チェックを外します
"Set locale variables automatically"
このエラーはなくなりました。
あなたのLC_CTYPE
が間違っています。間違った値がどこに設定されているかを見つけて、en_US.UTF-8
。