在Mac OSX 10.6上的python 2.7中导入matplotlib.mlab和.pyplot时出现问题

时间:2011-08-23 07:00:15

标签: python matplotlib osx-snow-leopard

我试图在OSX 10.6上的Python 2.7中使用matplotlib绘制直方图

我已经验证我可以将numpy,scipy和matplotlib导入到python中。 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
>>> 

我做错了什么,我不能像脚本一样导入这些?

2 个答案:

答案 0 :(得分:3)

对于 ImportError :似乎存在体系结构不匹配。也许您已经安装了32位版本的matplotlib,但是使用的是64位Python?以下shell命令打印什么?

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(...)

答案 1 :(得分:2)

我认为最好的选择是使用你拥有的Python。说明here