安装Matplotlib

时间:2016-06-09 17:45:58

标签: python macos python-2.7 matplotlib

我想在Mac(10.7.5 Lion)中安装Matplotlib,其中已经安装了python(2.7.1),pip(8.1.2),numpy(1.11.0),astropy(1.2)并且正在按预期工作。首先,我尝试使用命令

sudo pip install matpltlib

它显示 Matplotlib 1.5.1已成功安装。但是当我输入python并键入import matplotlib时,它显示如下错误信息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/matplotlib/__init__.py", line 1131, in <module>
    rcParams = rc_params()
  File "/Library/Python/2.7/site-packages/matplotlib/__init__.py", line 975, in rc_params
    return rc_params_from_file(fname, fail_on_error)
  File "/Library/Python/2.7/site-packages/matplotlib/__init__.py", line 1100, in rc_params_from_file
    config_from_file = _rc_params_in_file(fname, fail_on_error)
  File "/Library/Python/2.7/site-packages/matplotlib/__init__.py", line 1018, in _rc_params_in_file
    with _open_file_or_url(fname) as fd:
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/Library/Python/2.7/site-packages/matplotlib/__init__.py", line 1000, in _open_file_or_url
    encoding = locale.getdefaultlocale()[1]
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 496, in getdefaultlocale
    return _parse_localename(localename)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 428, in _parse_localename
    raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8

我不明白究竟是什么问题。我打开了所有这些.py文件并读取了指定行中的命令。由于这些是只读文件(甚至来自root),因此无法编辑任何内容。我不知道如何解决这个问题。

好吧,然后我通过pip卸载它,并尝试从源代码安装。当我尝试通过python setup.py build构建它时(在下载280 MB源文件之后)它最终会出现几个错误 -

src/_macosx.m:2494: warning: implicit conversion shortens 64-bit value into a 32-bit value 
src/_macosx.m:1337: error: ‘for’ loop initial declaration used outside C99 mode
lipo: can't open input file: /var/folders/ks/31hhg2hj3273tbk2xwbjfv2h0000gn/T//ccEOsZZ4.out (No such file or directory)
lipo: can't open input file: /var/tmp//ccLauouU.out (No such file or directory)
error: command 'llvm-gcc-4.2' failed with exit status 1

我检查过,没有名为var的目录。我再也无法调试了。

1 个答案:

答案 0 :(得分:0)

您的语言环境配置错误; matplotlib似乎已正确安装,但在导入时会调用locale.getdefaultlocale() function

该函数会尝试从'LANGUAGE''LC_ALL''LC_CTYPE''LANG'环境变量中确定您当前的区域设置。其中至少有一个未设置为语言代码加编码;您将其设置为仅 的编码。

使用locale命令查看当前设置。当前设置为 UTF-8的任何内容都设置不正确且缺少语言代码(例如en_USen_GBes_ES等) 。您通常应该将设置区域设置变量保留到OS X终端 ;见https://apple.stackexchange.com/questions/21096/where-does-lang-variable-gets-set-in-mac-os-x

检查您的~/.profile~/.bashrc文件以查看错误变量的设置位置并删除该行,或者至少添加一个语言代码,用点分隔。< / p>