Pydev 找不到 matplotlib 模块
我刚在我的 windows 7 Python 2.6.5 电脑 上用 win32 安装程序安装了 matplotlib。为了测试安装情况,我在 matplotlib 网站上试了一些例子。在 Idle 中一切都正常,但 Pydev 1.9 (Eclipse 3.6) 却找不到任何子模块。
比如说,import matplotlib
这个命令没有报错。
但是 from matplotlib.path import Path
就会报错:
ImportError: No module named path
我已经把 matplotlib 的路径添加到了 系统 PYTHONPATH 中,但我还需要做其他什么吗?
from pylab import *
import numpy as np
from matplotlib.transforms import Bbox
from matplotlib.path import Path
from matplotlib.patches import Rectangle
rect = Rectangle((-1, -1), 2, 2, facecolor="#aaaaaa")
gca().add_patch(rect)
bbox = Bbox.from_bounds(-1, -1, 2, 2)
for i in range(12):
vertices = (np.random.random((4, 2)) - 0.5) * 6.0
vertices = np.ma.masked_array(vertices, [[False, False], [True, True], [False, False], [False, False]])
path = Path(vertices)
if path.intersects_bbox(bbox):
color = 'r'
else:
color = 'b'
plot(vertices[:,0], vertices[:,1], color=color)
show()
Traceback (most recent call last):
File "I:\My Documents\Programming\Python\Eclipse Projects\test\src\matplotlib.py", line 1, in <module>
from pylab import *
File "C:\Python26\lib\site-packages\pylab.py", line 1, in <module>
from matplotlib.pylab import *
File "I:\My Documents\Programming\Python\Eclipse Projects\test\src\matplotlib.py", line 3, in <module>
from matplotlib.transforms import Bbox
ImportError: No module named transforms
1 个回答
4
看起来你的文件叫做 matplotlib.py
。这就是为什么它不能正常工作的原因:当前目录总是会被放在系统路径的最前面,所以你的文件会被优先找到。因为你的文件里没有 transforms
这个子模块,所以导入时会失败。虽然 import matplotlib
这个命令可以正常工作,因为确实有一个叫 matplotlib
的模块,但那就是你自己创建的 matplotlib.py
文件。只需要把这个文件改个名字就可以了。