我想在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源文件之后)它最终会出现几个错误 - / p>
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的目录。我再也无法调试了。
答案 0 :(得分:0)
您的语言环境配置错误; matplotlib似乎已正确安装,但在导入时会调用locale.getdefaultlocale()
function。
该函数会尝试从'LANGUAGE'
,'LC_ALL'
,'LC_CTYPE'
和'LANG'
环境变量中确定您当前的区域设置。其中至少有一个未设置为语言代码加编码;您将其设置为仅 的编码。
使用locale
命令查看当前设置。当前设置为 UTF-8
的任何内容都设置不正确且缺少语言代码(例如en_US
或en_GB
或es_ES
等) 。您通常应该将设置区域设置变量保留到OS X终端 ;见https://apple.stackexchange.com/questions/21096/where-does-lang-variable-gets-set-in-mac-os-x
检查您的~/.profile
和~/.bashrc
文件以查看错误变量的设置位置并删除该行,或者至少添加一个语言代码,用点分隔。< / p>