Python 2.7 и PyDev - matplotlib и NumPy не работают - PullRequest
3 голосов
/ 16 марта 2012

Я пытаюсь заставить matplotlib работать под Windows 7 (64-битная версия), используя Python 2.7 и Eclipse с плагином PyDev. Я установил NumPy от http://www.lfd.uci.edu/~gohlke/pythonlibs/.

Проблема в том, что я пишу следующий код в 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

Также с NumPy, когда я пишу следующий код в Eclipse:

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 работают нормально, я добавил и matplotlib, и NumPy из preferences -> pydev -> interpreter python. В чем может быть проблема? Кроме того, какую альтернативу я мог бы использовать для создания графиков с использованием Python?

Ответы [ 2 ]

2 голосов
/ 16 марта 2012

У меня работает. Очень вероятно, что вы добавили каталоги matplotlib и numpy в свой PYTHONPATH, так что matplotlib.collections импортируется вместо модуля коллекций из стандартной библиотеки Python. Попробуйте удалить каталоги matplotlib и numpy из PYTHONPATH в настройках интерпретатора Eclipse> PyDev> Python.

0 голосов
/ 18 февраля 2013

У меня возникла та же проблема, но следуйте инструкциям внизу страницы и установил SciPy SuperPack. Работал как шарм на Горном льве:

https://github.com/fonnesbeck/ScipySuperpack

После установки numpy вы всегда можете просто нажать ctrl-C из других пакетов

...