Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Mac OSX 10.6上导入python 2.7中的matplotlib.mlab和.pyplot时出现问题_Python_Matplotlib_Osx Snow Leopard - Fatal编程技术网

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

在Mac OSX 10.6上导入python 2.7中的matplotlib.mlab和.pyplot时出现问题,python,matplotlib,osx-snow-leopard,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.

我试图在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
>>> 
Python2.7.2(v2.7.2:852742714a2,2011年6月11日,15:22:34)
[GCC 4.2.1(苹果公司建造5666)(dot 3)]关于达尔文
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>将matplotlib.mlab导入为mlab
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/matplotlib/mlab.py”,第151行,在
将matplotlib.nxutils作为nxutils导入
ImportError:dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/nxutils.so,2):未找到合适的映像。确实发现:
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/nxutils.so:通用包装中没有匹配的体系结构
>>> 
我做错了什么,不能像脚本那样导入它们?

对于导入错误:似乎存在架构不匹配。也许您已经安装了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(...)

我认为最好的选择是使用Python。说明。

一个相关问题:如果我尝试调用matplotlib.pyplot.hist(),它将不起作用,并给我一个AttributeError,说matplotlib没有属性“pyplot”,但这已在matplotlib文档中列出。我想你是对的。我仔细研究了一下,显然我正在运行64位Python。您的问题的结果是:
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/nxutils.so:Mach-O通用二进制文件,具有2种体系结构/Library/Frameworks/python2.7/site-packages/matplotlib/nxutils.so(用于体系结构ppc):Mach-O bundle ppc/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/nxutils.so(对于体系结构i386):Mach-O bundle i386
是以32位运行Python的最佳选项吗?我该怎么做?我还尝试寻找一个64位matplotlib,但似乎为雪豹这样做有点牵扯其中。