1

我刚刚使用 win32 安装程序在我的windows 7 Python 2.6.5 机器上安装了 matplotlib。我已经尝试了 matplotlib 站点上的一些示例来测试安装,在 Idle 下一切正常,但 Pydev 1.9 (Eclipse 3.6)找不到任何子模块。

例如import matplotlib不会导致任何错误

from matplotlib.path import Path抛出

ImportError: No module named path

我已经在 Eclipse中将 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
4

1 回答 1

4

似乎您的文件名为matplotlib.py. 然后很清楚为什么这不起作用:当前目录始终位于系统路径之前,并且会首先找到您的文件。由于它不包含transforms子模块,因此导入将失败。import matplotlib它本身可以工作,因为有一个名为的模块——你的matplotlib文件名为matplotlib.py. 只需重命名文件。

于 2010-08-19T21:32:48.483 回答