在Mac OSX 10.6上,Python 2.7导入matplotlib.mlab和.pyplot的问题
我正在尝试在OSX 10.6上使用Python 2.7的matplotlib绘制直方图。
我已经确认可以在Python中导入numpy、scipy和matplotlib。matplotlib网站上的一个示例脚本可以正常运行。
#!/usr/bin/env python
import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
但是,当我尝试导入mlab时却出现了错误。
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib.mlab as mlab
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/mlab.py", line 151, in <module>
import matplotlib.nxutils as nxutils
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/nxutils.so, 2): no suitable image found. Did find:
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/nxutils.so: no matching architecture in universal wrapper
>>>
我到底做错了什么,为什么无法像脚本那样导入这些库呢?
1 个回答
3
关于 ImportError 错误:这看起来是因为你的系统架构不匹配。可能你安装的是 32 位的 matplotlib,但你却在使用 64 位的 Python。你可以试试下面这个命令,看看输出是什么:
file /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/nxutils.so
关于 AttributeError 错误:你需要明确地导入 matplotlib.pyplot
,仅仅导入 matplotlib
是不够的,它不会自动导入。最常用的别名方式是:
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
然后你就可以用 plt
这个名字来绘制你的直方图:
plt.hist(...)