Matplotlib: ошибка импорта без модуля с именем _path

Я часами бился над проблемой, которая сводит меня с ума. Я установил Python 2.7 с Cygwin и добавил Scipy, Numpy, Matplotlib (1.4.3) и Ipython. Когда я решил запустить ipython --pylab, я получаю следующую ошибку:

/usr/lib/python2.7/site-packages/matplotlib/transforms.py in <module>()
 37 import numpy as np
 38 from numpy import ma
 ----> 39 from matplotlib._path import (affine_transform, count_bboxes_overlapping_bbox,
 40     update_path_extents)
 41 from numpy.linalg import inv

 ImportError: No module named _path

Я провел несколько часов в Интернете в поисках решения, но ничего не помогло. Я заметил, что мне не хватает файлов _path.so в каталоге matplotlib, который, кажется, есть у всех. Вместо этого у меня есть два файла: path.py и path.pyc. Но я установил matplotlib прямо с официального сайта, используя pip install, и его переустановка не имела никакого значения. Кто-нибудь знает, что происходит не так? Буду безмерно благодарен!!!


person Arawn    schedule 12.05.2015    source источник
comment
Я не знаю о вашей конкретной ошибке, но большинство людей просто установили бы дистрибутив Python, например Anaconda или Canopy, а не добавлять отдельные компоненты вручную.   -  person chrisaycock    schedule 12.05.2015
comment
Можете ли вы запустить matplotlib в обычном интерпретаторе Python?   -  person Aleksander Lidtke    schedule 12.05.2015
comment
_path является частью скомпилированных расширений c. Что-то пошло не так с вашей установкой/компиляцией. См. matplotlib.org/users/installing.html#building-on-windows   -  person tacaswell    schedule 12.05.2015
comment
Араун, вы видели какие-либо ошибки при установке matplotlib через pip? Возможно, компиляция _path.so не удалась из-за проблемы с компиляцией, но этот пункт каким-то образом проигнорировал это и установил все остальное из matplotlib. Можете ли вы найти какие-либо другие файлы *.so в каталоге пакетов сайта matplotlib?   -  person    schedule 13.05.2015


Ответы (3)


Для других, имеющих эту проблему, в моем случае решение было простым. Проблема была вызвана тем, что на вашем компьютере была установлена ​​неправильная библиотека matplot; создание ошибки при поиске правильного пути matplotlib. В моем случае я установил matplotlib на другую версию Python. Просто обновите matplotlib на своем компьютере, чтобы он был совместим с вашей текущей версией Python:

pip install --upgrade matplotlib

Что касается поста, я не уверен, что вызвало эти большие проблемы. Надеюсь, мой совет может помочь кому-то еще, наткнувшемуся на эту проблему!

person Andreas Forslöw    schedule 09.10.2017
comment
'pip install --upgrade matplotlib' (обновление, а не обновление). Почему-то не могу отредактировать ответ. - person vjayky; 11.04.2018

Я сомневаюсь, что у большинства из вас, приведенных сюда Google, есть проблема, которая была у меня, но на всякий случай:

Я получил вышеупомянутое «ImportError: нет модуля с именем _path» (в Fedora 17), потому что я пытался использовать matplotlib, просто установив sys.path, чтобы указать, где я создал последнюю версию (1.5.1 в то время) . Не делай этого.

Как только я запустил «python setup.py install» (от имени root), чтобы выполнить правильную установку (и избавился от моего взлома sys.path), ошибка была исправлена.

person Don Law    schedule 12.05.2016

Для пакета matplotlib требуется несколько зависимостей (см. их здесь). Для меня отсутствующие зависимости включали pyparsing и kiwisolver, но ваши результаты могут отличаться. Прежде чем делать какие-либо из этих вещей (переустанавливать python или библиотеку и т. д.), убедитесь, что вы установили (pip install...) все библиотеки в этом списке (ссылка).

person Epsilon3    schedule 22.05.2018