在安装了最新的Mac OSX 64-bit Anaconda Python distribution之后,我在尝试启动IPython笔记本时一直收到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 notebook:
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=
发布于 2013-03-23 19:16:24
我在这里总结了可以在上找到的解决方案: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
发布于 2013-11-15 01:11:24
这是OS X终端应用程序中的一个错误,仅在某些区域设置(国家/语言组合)中显示。在/Applications/Utilities中打开终端,并取消选中“启动时设置区域环境变量”框。
这会将您的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 (我也是该页面的原始作者)。
发布于 2014-02-03 08:16:41
在iTerm中转到菜单
Preferences -> Profiles -> Terminal -> (Environment)
然后取消选中
"Set locale variables automatically"
让这个错误消失了。
https://stackoverflow.com/questions/15526996
复制相似问题