将pylab与ipython一起使用-值错误:未知区域设置:UTF-8

将pylab与ipython一起使用-值错误:未知区域设置:UTF-8,python,matplotlib,ipython,anaconda,Python,Matplotlib,Ipython,Anaconda,我需要安装ipython并在我的信号和系统类中使用pylab 我已经启动并运行了ipython(python版本3.5) 我无法让派拉布初始化 我已经安装了matplotlib。 在终端中键入ipython--pylab时,会得到以下结果: IPython 4.0.3 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref ->

我需要安装ipython并在我的信号和系统类中使用pylab

我已经启动并运行了ipython(python版本3.5)

我无法让派拉布初始化

我已经安装了matplotlib。 在终端中键入ipython--pylab时,会得到以下结果:

IPython 4.0.3 -- 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.
[TerminalIPythonApp] WARNING | GUI event loop or pylab initialization failed
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/Users/ruiloureiro/anaconda/lib/python3.5/site-packages/IPython/core/shellapp.py in <lambda>(key)
    217         shell = self.shell
    218         if self.pylab:
--> 219             enable = lambda key: shell.enable_pylab(key, import_all=self.pylab_import_all)
    220             key = self.pylab
    221         elif self.matplotlib:

/Users/ruiloureiro/anaconda/lib/python3.5/site-packages/IPython/core/interactiveshell.py in enable_pylab(self, gui, import_all, welcome_message)
   3169         from IPython.core.pylabtools import import_pylab
   3170 
-> 3171         gui, backend = self.enable_matplotlib(gui)
   3172 
   3173         # We want to prevent the loading of pylab to pollute the user's

/Users/ruiloureiro/anaconda/lib/python3.5/site-packages/IPython/core/interactiveshell.py in enable_matplotlib(self, gui)
   3118         """
   3119         from IPython.core import pylabtools as pt
-> 3120         gui, backend = pt.find_gui_and_backend(gui, self.pylab_gui_select)
   3121 
   3122         if gui != 'inline':

/Users/ruiloureiro/anaconda/lib/python3.5/site-packages/IPython/core/pylabtools.py in find_gui_and_backend(gui, gui_select)
    237     """
    238 
--> 239     import matplotlib
    240 
    241     if gui and gui != 'auto':

/Users/ruiloureiro/anaconda/lib/python3.5/site-packages/matplotlib/__init__.py in <module>()
   1129 
   1130 # this is the instance used by the matplotlib classes
-> 1131 rcParams = rc_params()
   1132 
   1133 if rcParams['examples.directory']:

/Users/ruiloureiro/anaconda/lib/python3.5/site-packages/matplotlib/__init__.py in rc_params(fail_on_error)
    973         return ret
    974 
--> 975     return rc_params_from_file(fname, fail_on_error)
    976 
    977 

/Users/ruiloureiro/anaconda/lib/python3.5/site-packages/matplotlib/__init__.py in rc_params_from_file(fname, fail_on_error, use_default_template)
   1098         parameters specified in the file. (Useful for updating dicts.)
   1099     """
-> 1100     config_from_file = _rc_params_in_file(fname, fail_on_error)
   1101 
   1102     if not use_default_template:

/Users/ruiloureiro/anaconda/lib/python3.5/site-packages/matplotlib/__init__.py in _rc_params_in_file(fname, fail_on_error)
   1016     cnt = 0
   1017     rc_temp = {}
-> 1018     with _open_file_or_url(fname) as fd:
   1019         try:
   1020             for line in fd:

/Users/ruiloureiro/anaconda/lib/python3.5/contextlib.py in __enter__(self)
     57     def __enter__(self):
     58         try:
---> 59             return next(self.gen)
     60         except StopIteration:
     61             raise RuntimeError("generator didn't yield") from None

/Users/ruiloureiro/anaconda/lib/python3.5/site-packages/matplotlib/__init__.py in _open_file_or_url(fname)
    998     else:
    999         fname = os.path.expanduser(fname)
-> 1000         encoding = locale.getdefaultlocale()[1]
   1001         if encoding is None:
   1002             encoding = "utf-8"

/Users/ruiloureiro/anaconda/lib/python3.5/locale.py in getdefaultlocale(envvars)
    557     else:
    558         localename = 'C'
--> 559     return _parse_localename(localename)
    560 
    561 

/Users/ruiloureiro/anaconda/lib/python3.5/locale.py in _parse_localename(localename)
    485     elif code == 'C':
    486         return None, None
--> 487     raise ValueError('unknown locale: %s' % localename)
    488 
    489 def _build_localename(localetuple):

ValueError: unknown locale: UTF-8
ipython4.0.3——一种增强的交互式Python。
?         -> 介绍和概述IPython的功能。
%快速参考->快速参考。
帮助->Python自己的帮助系统。
对象?->有关“对象”的详细信息,请使用“对象??”获取更多详细信息。
[TerminalIPythonApp]警告| GUI事件循环或pylab初始化失败
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
/Users/ruiloureiro/anaconda/lib/python3.5/site-packages/IPython/core/shellapp.py in(键)
217 shell=self.shell
218如果self.pylab:
-->219 enable=lambda key:shell.enable\u pylab(key,import\u all=self.pylab\u import\u all)
220键=self.pylab
221 elif self.matplotlib:
/enable_pylab中的Users/ruiloureiro/anaconda/lib/python3.5/site-packages/IPython/core/interactiveshell.py(self、gui、import_all、welcome_消息)
3169从IPython.core.pylabtools导入_pylab
3170
->3171 gui,后端=self.enable_matplotlib(gui)
3172
3173#我们希望防止装载pylab污染用户的电脑
/enable_matplotlib(self,gui)中的Users/ruiloureiro/anaconda/lib/python3.5/site-packages/IPython/core/interactiveshell.py
3118         """
3119从IPython.core导入pylabtools作为pt
->3120 gui,backend=pt.find_gui_和_backend(gui,self.pylab_gui_select)
3121
3122如果gui!=“内联”:
/用户/ruiloureiro/anaconda/lib/python3.5/site-packages/IPython/core/pylabtools.py在find_gui_和_后端(gui,gui_选择)
237     """
238
-->239导入matplotlib
240
241如果gui和gui!='自动':
/Users/ruiloureiro/anaconda/lib/python3.5/site packages/matplotlib/__init__;u.py in()
1129
1130#这是matplotlib类使用的实例
->1131 rcParams=rc_params()
1132
1133如果rcParams['examples.directory']:
/rc_参数中的Users/ruiloureiro/anaconda/lib/python3.5/site packages/matplotlib/_init_uuuuuuu.py(错误时失败)
973返回ret
974
-->975从_文件返回rc_参数(fname,错误时失败)
976
977
/用户/ruiloureiro/anaconda/lib/python3.5/site packages/matplotlib/\uuuuuuu init\uuuuu.py,位于来自文件的rc\u参数中(fname,错误时失败,使用默认模板)
文件中指定的1098个参数。(用于更新dicts。)
1099     """
->1100从\u文件配置\u=\u文件中的\u rc\u参数(fname,错误时失败)
1101
1102如果不使用\u默认\u模板:
/Users/ruiloureiro/anaconda/lib/python3.5/site packages/matplotlib/\uuuuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
1016 cnt=0
1017 rc_temp={}
->1018将_open_file_或_url(fname)作为fd:
1019试试:
1020对于fd中的行:
/Users/ruiloureiro/anaconda/lib/python3.5/contextlib.py在
57定义输入(自我):
58尝试:
--->59返回下一个(self.gen)
60除停止迭代外:
61从“无”引发运行时错误(“生成器未生成”)
/Users/ruiloureiro/anaconda/lib/python3.5/site packages/matplotlib/\uuuuuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
998其他:
999 fname=os.path.expanduser(fname)
->1000 encoding=locale.getdefaultlocale()[1]
1001如果编码为无:
1002编码=“utf-8”
/getdefaultlocale(envvars)中的Users/ruiloureiro/anaconda/lib/python3.5/locale.py
557其他:
558 localename='C'
-->559返回parse_localename(localename)
560
561
/localename(localename)中的Users/ruiloureiro/anaconda/lib/python3.5/locale.py
485 elif代码=='C':
486返回无,无
-->487提升值错误('未知区域设置:%s'%localename)
488
489定义生成本地名称(localetuple):
ValueError:未知区域设置:UTF-8

你知道是什么原因吗?

你可能需要在~/.bash_档案中添加以下行:

$ nano ~/.bash_profile

将这些行添加到文件末尾

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

一旦你将这些行保存在你的个人资料中,注销并重新登录到shell,它应该会工作。

不知道,但我没有真正查看错误跟踪。我的意见是只使用
anaconda
,省去了很多麻烦。错误看起来与你设置区域设置的方式有关。你可以检查一下通过执行
import locale
,然后执行
local.getdefaultlocale()
。可能值得尝试将默认区域设置设置为
None
,看看会发生什么。@gg349我确实使用anaconda安装了matplotlib。@BrianHuey我在尝试“locale.getdefaultlocale()”时出错。对不起,locale.getdefaultlocale()这解决了问题!非常感谢。
$ export LC_ALL=en_US.UTF-8
$ export LANG=en_US.UTF-8