Ошибки версии для numpy при импорте matplotlib

Когда Я

import matplotlib

Я не получаю ошибки, но, когда я

import matplotlib.pyplot

Я

RuntimeError: module compiled against API version 8 but this version of numpy is 7
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/matplotlib/pyplot.py", line 24, in <module>
    import matplotlib.colorbar
  File "/Library/Python/2.7/site-packages/matplotlib/colorbar.py", line 27, in <module>
    import matplotlib.artist as martist
  File "/Library/Python/2.7/site-packages/matplotlib/artist.py", line 8, in <module>
    from transforms import Bbox, IdentityTransform, TransformedBbox, 
  File "/Library/Python/2.7/site-packages/matplotlib/transforms.py", line 35, in <module>
    from matplotlib._path import (affine_transform, count_bboxes_overlapping_bbox,
ImportError: numpy.core.multiarray failed to import

это похоже на версия ошибка; но yolk говорит, что у меня есть обновленная версия, и pip говорит, что все обновлено и не поможет "действительно" обновить вещи.

что я могу сделать, чтобы убедиться, что необходимые пакеты "действительно" обновлены, чтобы избежать этой ошибки; какие пакеты должны быть" действительно " обновлены (matplotlib; numpy; другие?).


удаление и повторная установка numpy (с помощью pip) не помогает.

Пип как-то позволил мне недавно обновить matplotlib до "слишком новой" версии, а версия pip numpy отстает?


мой sys.path - это:

['',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',  
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',  
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',  
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',  
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',  
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',  
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',  
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',  
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC', 
'/Library/Python/2.7/site-packages']

и стек Scypi установлен в site-packages где он поддерживается pip. OS X 10.9, Apple Python 2.7.5, все версии пакетов находятся в pipy.

5 ответов


принудительная переустановка работает в этом случае, как это часто бывает в подобных случаях:

sudo pip install -U --force-reinstall scipy

У меня была такая же ошибка. Я смог исправить это, установив numpy через мою Python IDE. Я использую PyCharm. Когда Pycharm открывается, есть возможность настроить вещи, и оттуда вы можете выбрать интерпретаторы python. На правой стороне должна появиться панель с двумя вариантами; пути и пакеты. выберите пакеты, затем выберите Установить, и появится список доступных пакетов. Выберите numpy из списка и нажмите кнопку Установить в этом окне. это исправило мою ошибку.


в случае

sudo pip install-U -- force-переустановить scipy

не работает (даже если вы включаете определенную версию), вы можете убедиться, что у вас есть правильная версия numpy, установленная с Python, который вы используете. У меня было то же самое " numpy.ядро.multiarray не удалось импортировать " проблема, но это было потому, что у меня был 1.6 установлен для версии Python, которую я использовал, хотя я продолжал устанавливать 1.8 и предполагал, что он устанавливается справа справочник.

Я нашел плохую версию numpy, используя следующую команду в моем терминале Mac:

python-c " импорт numpy; печать numpy.версия; печать numpy.файл";

эта команда дала мне версию и местоположение numpy, которые я использовал (оказалось, что это 1.6.2). Я пошел в это место и вручную заменил его папкой numpy для 1.8 (команда pip установила это в другом месте), которая разрешила мой "numpy.ядро.multiarray не удалось импортировать " проблема. Надеюсь, кто-то найдет это полезным!


sudo pip install -U --force-reinstall scipy

работает для меня, но при перезагрузке на mac, вы должны снять флажок "открыть окна", чтобы сделать эту работу

не просто перезапуск :)


у меня была та же проблема, и причиной, похоже, являются более старые версии numpy (а также scipy,matplotlib в других случаях) поставляется с Mac OS X mavericks. Следующая ссылка содержит решение.

https://stackoverflow.com/a/28518106

нужно вручную удалить старые модули, расположенные в (в моем случае) /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/

затем обновить модули. Новые модули расположены в /Library/Python/2.7/site-packages/

можно убедиться, что импорт осуществляется путем проверки

import numpy

print numpy.__file__ или

print numpy.__version__