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
Arawn, видя ли някакви грешки при инсталиране на matplotlib чрез pip? Може компилацията на _path.so да е неуспешна поради проблем с компилацията, но този pip някак си е пренебрегнал това и е инсталирал всичко останало от matplotlib. Можете ли да намерите други *.so файлове в директорията на matplotlib site-packages?   -  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