2012-03-15 2 views
3

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

Также с 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?

+0

Хотя это не ответ на ваш вопрос, мне кажется, что вы написал неправильный пример NumPy: using 'import numpy; add (...) 'приведет к' NameError'. Я думаю, что это должно быть 'numpy.add (...)'. – Chris

+0

Для дальнейшего использования, [WinPython] (http://code.google.com/p/winpython/) - это еще один способ установить NumPy и Matplotlib на 64-разрядную версию Windows 7. –

ответ

2

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

+1

Я думаю, что ответ cgohlke верен, но если вы все еще не можете его найти, попробуйте просто удалить ваш интерпретатор и добавить его обратно и позволить ему получить пути для вас (и выберите только из этого списка пути, которые необходимы, поскольку это должно получиться там должным образом). –

+0

Thats not help .. У меня нет matplotlib или numpy во мне pythonpath, но проблема такая же. больше, namedtuples не работают с pydoc. Я устал или что проблемы с numpy и matplotlib на каждом шаге. – Pruntoff

+0

Для меня я думаю, что проблема с коллекциями – Chet

0

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

https://github.com/fonnesbeck/ScipySuperpack

После того, как установка NumPy вы всегда можете просто Ctrl-C из других пакетов

+0

SciPy SuperPack - это только Mac OSX. OP сказал Windows 7. –

Смежные вопросы