为什么Python在numpy.core.ma上卡住?
我正在尝试在我的Mac 10.6.7 32位机器上设置pylab;我使用virtualenv来隔离我的工作环境,这样做让我感觉更好(因为我之前用的是ruby/rvm,如果这不是“python的做法”,请纠正我)。
我已经安装了以下模块/库:
DateUtils-0.5.1-py2.7.egg-info numpy-1.5.1-py2.7.egg-info
IPython pip-0.8.3-py2.7.egg
configobj.py pylab.py
configobj.pyc pylab.pyc
dateutil pymc
dateutils pymc-2.1beta-py2.7.egg-info
easy-install.pth python_dateutil-2.0-py2.7.egg-info
enthought pytz
ipython-0.10.1-py2.7.egg-info pytz-2011e-py2.7.egg-info
matplotlib scipy
matplotlib-0.91.1-py2.7.egg-info scipy-0.9.0-py2.7.egg-info
nose setuptools-0.6c11-py2.7.egg
nose-1.0.0-py2.7.egg-info setuptools-0.6c12dev_r88795-py2.7.egg
numpy setuptools.pth
唯一我不太清楚的是enthought;我从来没有安装过他们的python解决方案——这肯定是其他东西的依赖。
Numpy似乎运行得很好,matplotlib也可以顺利导入;我在命令行中都没有问题。当我直接调用ipython时也没有麻烦。但是当我尝试使用pylab时,python在处理numpy.core.ma时出现了问题,如下所示:
File "/Users/davidbgonzalez/.virtualenvs/VirtPy27/lib/python2.7/site-packages/matplotlib/numerix/ma/__init__.py", line 16, in <module>
from numpy.core.ma import *
ImportError: No module named ma
为了调查这个问题,我打开了__init__.py
文件,并且在提示符下进行了一些操作,正如这里提到的。果然,ma
是在numpy.ma
中找到的,而不是numpy.core.ma
;通过import numpy.ma
确认了这一点。
我修改了出错的那一行:
from numpy.core.ma import * -> from numpy.ma import *
结果出现了一个新的、非常相似的错误:
File "/Users/davidbgonzalez/.virtualenvs/VirtPy27/lib/python2.7/site-packages/matplotlib/numerix/npyma/__init__.py", line 7, in <module>
from numpy.core.ma import *
ImportError: No module named ma
但是当我把numpy.core.ma
改成numpy.ma
时,我得到了一个可怕的错误:
Bus error
我对任何解决方案都持开放态度。
2 个回答
8
对于其他正在网上搜索的人来说,你现在要找的简单一句话是:
pip install -U 'http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1.tar.gz/download'
3
看起来你安装的Matplotlib版本非常旧。我不太清楚你是从哪里得到的这个版本,但现在的最新版本是1.0.1,你可以从这个网址下载:http://matplotlib.sourceforge.net/