2015-11-15 5 views
1

Я пытаюсь импортировать импорт numpy как np. Это мой кодОшибка импорта Python 2: невозможно импортировать имя unpack_labeled_data

import cv2 
from matplotlib import pyplot as plt 

img = cv2.imread('messi5.jpg',0) 
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic') 
plt.xticks([]), plt.yticks([]) 
plt.show() 

Но я получаю сообщение об ошибке,

C:\Python27\pythonw.exe C:/Users/baqir/PycharmProjects/untitled/cdsk1.py 
Traceback (most recent call last): 
File "C:/Users/baqir/PycharmProjects/untitled/cdsk1.py", line 2, in <module> 
from matplotlib import pyplot as plt 
File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 29, in  <module> 
from matplotlib.figure import Figure, figaspect 
File "C:\Python27\lib\site-packages\matplotlib\figure.py", line 36, in <module> 
from matplotlib.axes import Axes, SubplotBase, subplot_class_factory 
File "C:\Python27\lib\site-packages\matplotlib\axes\__init__.py", line 4, in <module> 
from ._subplots import * 
File "C:\Python27\lib\site-packages\matplotlib\axes\_subplots.py", line 10, in <module> 
from matplotlib.axes._axes import Axes 
File "C:\Python27\lib\site-packages\matplotlib\axes\_axes.py", line 14, in <module> 
from matplotlib import unpack_labeled_data 

ImportError: cannot import name unpack_labeled_data ` 

Я гугле его, но не нашли никакого решения. Может ли кто-нибудь сказать, что здесь я делаю неправильно?

+0

Пожалуйста, добавьте полную метку ошибки, а не только последнюю строку. – cel

+0

@cel добавлена ​​полная трассировка –

+0

'unpack_labelled_data' - это функция декоратора, которая должна быть определена в' C: \ Python27 \ lib \ site-packages \ matplotlib \ __ init __. Py' ([см. Здесь] (https://github.com /matplotlib/matplotlib/blob/0a7a41d6db7a09ecb269634f6991c1e3171b6fa0/lib/matplotlib/__init__.py#L1594-L1856)). Я предполагаю, что в вашей установке matplotlib должно быть что-то сломано. Как вы его установили? –

ответ

0

У меня была такая же ошибка и исправить ее только сейчас. Моя ОС тоже Windows, поэтому вам просто нужно обновить версию matplotlib. Я устанавливаю matplotlib-1.3.1, приводя к ошибке импорта и обновляя его до matplotlib- 1.5.1 все в порядке.

+0

Я столкнулся с этой проблемой на linux с matplotlib 1.5.1 –

0

Я уверен, что это проблема установки после установки более старой версии matplotlib. Однако установка новой версии matplotlib поверх старой версии не устранила эту ошибку для меня.

Редактировать: Я исправил это, выполнив удаление matplotlib дважды. На моей системе был установлен Matplotlib 1.5.1, а также яйцо Matplotlib 1.2.0.

pip uninstall matplotlib 
pip uninstall matplotlib 
pip install --upgrade matplotlib 

Linux

Я закончил тем, что установить все в virtualenv, чтобы получить за ошибки (хотя я имел последнюю версию Matplotlib в моей системе). Возможно, вам понадобится установить virtualenv через pip или ваш менеджер пакетов.

virtualenv -p $(which python2) py2k 
source py2k/bin/activate 
pip install matplotlib numpy 

Окно

вы можете использовать conda из Miniconda для установки предварительно скомпилированных модулей Python (если вы и не хотите, чтобы прошли через ад пипа на Windows)

conda create --name py2k python=2 
activate py2k 
conda install matplotlib numpy 

Вы также можете использовать Anaconda, который имеет matplotlib и numpy в комплекте с интерпретатором Python 2.

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