【问题标题】:Python 2.7 & PyDev - matplotlib and NumPy not workingPython 2.7 & PyDev - matplotlib 和 NumPy 不工作
【发布时间】:2012-04-01 11:09:09
【问题描述】:

我正在尝试使用 Python 2.7 和带有 PyDev 插件的 Eclipse 让 matplotlib 在 Windows 7(64 位)下工作。我从http://www.lfd.uci.edu/~gohlke/pythonlibs/ 安装了 NumPy。

问题是当我在 Eclipse 中编写以下代码时:

import matplotlib.pyplot as plt

plt.figure()

我收到以下错误:

Traceback (most recent call last):
  File "C:\Users\davedove\Documents\eclipseWorkspace\python.graphExample\example.py", line 1, in <module>
    import matplotlib.pyplot as plt
  File "C:\Python27\lib\site-packages\matplotlib\__init__.py", line 104, in <module>
    import os, re, shutil, subprocess, sys, warnings
  File "C:\Python27\lib\shutil.py", line 12, in <module>
    import collections
  File "C:\Python27\Lib\site-packages\matplotlib\collections.py", line 12, in <module>
    import numpy as np
  File "C:\Python27\lib\site-packages\numpy\__init__.py", line 147, in <module>
    import add_newdocs
  File "C:\Python27\lib\site-packages\numpy\add_newdocs.py", line 9, in <module>
    from numpy.lib import add_newdoc
  File "C:\Python27\lib\site-packages\numpy\lib\__init__.py", line 4, in <module>
    from type_check import *
  File "C:\Python27\lib\site-packages\numpy\lib\type_check.py", line 8, in <module>
    import numpy.core.numeric as _nx
  File "C:\Python27\lib\site-packages\numpy\core\__init__.py", line 40, in <module>
    from numpy.testing import Tester
  File "C:\Python27\lib\site-packages\numpy\testing\__init__.py", line 8, in <module>
    from unittest import TestCase
  File "C:\Python27\lib\unittest\__init__.py", line 58, in <module>
    from .result import TestResult
  File "C:\Python27\lib\unittest\result.py", line 9, in <module>
    from . import util
  File "C:\Python27\lib\unittest\util.py", line 2, in <module>
    from collections import namedtuple, OrderedDict
ImportError: cannot import name namedtuple

当我在 Eclipse 中编写以下代码时,也使用 NumPy:

import numpy

add(array([-1.2, 1.2]), array([1,3]))

我收到以下错误:

Traceback (most recent call last):
  File "C:\Users\davedove\Documents\eclipseWorkspace\python.graphExample\example.py", line 1, in <module>
    import numpy
  File "C:\Python27\lib\site-packages\numpy\__init__.py", line 147, in <module>
    import add_newdocs
  File "C:\Python27\lib\site-packages\numpy\add_newdocs.py", line 9, in <module>
    from numpy.lib import add_newdoc
  File "C:\Python27\lib\site-packages\numpy\lib\__init__.py", line 4, in <module>
    from type_check import *
  File "C:\Python27\lib\site-packages\numpy\lib\type_check.py", line 8, in <module>
    import numpy.core.numeric as _nx
  File "C:\Python27\lib\site-packages\numpy\core\__init__.py", line 40, in <module>
    from numpy.testing import Tester
  File "C:\Python27\lib\site-packages\numpy\testing\__init__.py", line 8, in <module>
    from unittest import TestCase
  File "C:\Python27\lib\unittest\__init__.py", line 58, in <module>
    from .result import TestResult
  File "C:\Python27\lib\unittest\result.py", line 9, in <module>
    from . import util
  File "C:\Python27\lib\unittest\util.py", line 2, in <module>
    from collections import namedtuple, OrderedDict
  File "C:\Python27\Lib\site-packages\matplotlib\collections.py", line 13, in <module>
    import numpy.ma as ma
  File "C:\Python27\lib\site-packages\numpy\ma\__init__.py", line 44, in <module>
    import core
  File "C:\Python27\lib\site-packages\numpy\ma\core.py", line 73, in <module>
    from numpy import ndarray, amax, amin, iscomplexobj, bool_
ImportError: cannot import name ndarray

在命令行中 NumPy 和 matplotlib 都运行良好,我从 preferences -&gt; pydev -&gt; interpreter python 添加了 matplotlib 和 NumPy。可能是什么问题呢?还有什么替代方法可以使用 Python 创建图表?

【问题讨论】:

  • 虽然这不是您问题的答案,但您似乎编写了一个不正确的 NumPy 示例:使用 import numpy; add(...) 将导致 NameError。我觉得应该是numpy.add(...)
  • 为了将来参考,WinPython 是您在 Windows 7 64 位上安装 NumPy 和 Matplotlib 的另一种方式。

标签: python numpy matplotlib pydev python-2.7


【解决方案1】:

为我工作。很可能您已将 matplotlib 和 numpy 目录添加到您的 PYTHONPATH 中,以便导入 matplotlib.collections 而不是 Python 标准库中的 collections 模块。尝试从 Eclipse > PyDev > Python 解释器设置中的 PYTHONPATH 中删除 matplotlib 和 numpy 目录。

【讨论】:

  • 我认为 cgohlke 的答案是正确的,但如果您仍然无法找到它,请尝试删除您的解释器并将其添加回来并让它为您获取路径(并仅从该列表中选择所需的路径,因为它应该在那里正确地获取东西)。
  • 那没有帮助.. 我的 pythonpath 中没有 matplotlib 或 numpy,但问题相同。更多,namedtuples 不适用于 pydoc 我很累,或者每一步都存在 numpy 和 matplotlib 的问题..
  • 对我来说,我认为这是收藏的问题
【解决方案2】:

我遇到了同样的问题,但按照页面底部的说明安装了 SciPy SuperPack。在 Mountain Lion 上的工作就像一个魅力:

https://github.com/fonnesbeck/ScipySuperpack

在它安装 numpy 之后,你总是可以直接按 ctrl-C 退出其他包

【讨论】:

  • SciPy SuperPack 仅适用于 Mac OSX。 OP 说的是 Windows 7。
猜你喜欢
  • 1970-01-01
  • 2018-12-19
  • 2016-06-10
  • 2016-06-11
  • 1970-01-01
  • 2014-07-17
  • 1970-01-01
  • 2016-06-28
  • 1970-01-01
相关资源
最近更新 更多