python - Pydev 找不到 matplotlib 模块

标签 python eclipse matplotlib pydev importerror

我刚刚使用 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

最佳答案

您的文件似乎名为 matplotlib.py。那么为什么这不起作用就很清楚了:当前目录总是在系统路径之前,你的文件将首先被找到。由于它不包含 transforms 子模块,导入将失败。 import matplotlib 本身可以工作,因为有一个名为 matplotlib 的模块——您的文件名为 matplotlib.py。只需重命名文件即可。

关于python - Pydev 找不到 matplotlib 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3526389/

相关文章:

python - matplotlib 烛台条/箱/宽度/间距

python - 无法从 Pandas 数据框中删除列

python - 用/openmp编译的模块无法导入?

Python for 循环重复

eclipse - GIT 跟踪安装前发生的更改

java - URL 的 Tomcat HTTP 500 错误

python - 如何在 matplotlib 中创建作用于旋转方向的自定义 blended_transform?

python - 如何清除 Python/matplotlib 内存?

java - 生命周期配置 AppEngine 未涵盖的插件执行

Python:将列表中的负值设置为 0