Импорт Python matplotlib.pyplot не работает

Я попробовал easy_install matplotlib и получил следующее:

matplotlib-1.2.0-py2.7-macosx-10.7-intel.egg

установлен в моей библиотеке/Python/2.7/site-packages.

Когда я перехожу в другую папку, чтобы использовать содержимое этой папки, и пытаюсь

«import matplotlib.pyplot» говорит: ImportError: нет модуля с именем matplotlib.pyplot

Это заставляет меня думать, что easy_install был выполнен неправильно. Этот вопрос довольно простой, но я работаю с mac osx и кроме того, что узнаю, что невероятно сложно установить этот модуль на osx, я мало что узнал из большинства источников, поэтому я хотел бы знать, может ли кто-нибудь на SO помочь мне с моим проблема. Я новичок в Python и буду очень признателен за помощь.


person anonuser0428    schedule 20.12.2012    source источник
comment
Во-первых, можете ли вы import matplotlib? Во-вторых, это ~/Library, /Library или /System/Library? Какую именно строку easy_install вы запустили, и какую python вы запустили. (В более общем плане, есть ли в вашей системе установки Python, отличные от Apple? Если да, то как вы их установили? С какой из них вы пытаетесь использовать matplotlib? Какие python и easy_install отображаются при использовании команды which?)   -  person abarnert    schedule 21.12.2012
comment
Кроме того, вы действительно должны использовать pip вместо easy_install, когда это возможно. Если вы используете стандартный Apple Python, я считаю, что в 10.7 и 10.8 они дают вам easy_install, но не pip, но вы можете исправить это, просто выполнив sudo easy_install pip, а затем вы можете использовать pip для всего остального (кроме readline и нескольких другие гораздо более необычные библиотеки).   -  person abarnert    schedule 21.12.2012
comment
~/Library, строка простой установки, которую я запустил, была следующей: sudo easy_install -m matplotlib   -  person anonuser0428    schedule 21.12.2012
comment
Если вы делаете sudo, почему это закончилось ~/Library? Выполняли ли вы какие-либо дополнительные настройки (или использовали virtualenv или что-то в этом роде)? Кроме того, пожалуйста, ответьте на все вопросы, а не только на один или два, иначе отладить вашу проблему будет невозможно.   -  person abarnert    schedule 21.12.2012
comment
Прошу прощения, это в system/Library/Python/2.7/site-packages. Никаких дополнительных настроек, извините за путаницу. Просто sudo easy_install -m matplotlib. Версия Python, которую я использую, — это Python 2.7 на Mac OS X. Я использую matplotlib с самим Python 2.7, который является версией Python по умолчанию на моем Mac.   -  person anonuser0428    schedule 21.12.2012
comment
ваш совет по установке pip сработал. Я до сих пор не знаю, в чем проблема с easy_install matplotlib, но установка pip сработала, спасибо за этот совет, abarnert.   -  person anonuser0428    schedule 21.12.2012


Ответы (1)


Как правило, вы всегда должны использовать pip вместо easy_install, за исключением нескольких библиотек (все они документируют этот факт, и единственные, о которых вы, вероятно, будете заботиться, это readline и, конечно же, сама pip).

Если вы работаете в OS X 10.7 или 10.8, используя установленный Apple Python, у вас есть встроенный easy_install, но не pip. Чтобы это исправить:

sudo easy_install pip

И теперь вы можете сделать это:

sudo pip install matplotlib

Как правило, это не решит проблему, с которой вы столкнулись. Причина использования pip заключается в том, что easy_install не имеет функций удаления, плохо справляется с обновлениями, может в конечном итоге оставить часть установленного материала в случае сбоя, он не работает правильно с virtualenv и т. д.

Но, похоже, вам повезло, и это изменение волшебным образом решило вашу проблему. Мы могли бы попытаться диагностировать исходную проблему. (Почему вы использовали -m с easy_install? Работает ли pip install --egg? И так далее.) Но я предполагаю, что вы довольны результатом и просто хотите оставить все в покое.

Будущим читателям, которые присоединятся, кажется, что sudo easy_install -m matplotlib на стандартной версии Apple 10.7 Python 2.7 не работает, но sudo pip install matplotlib работает, и для них этого тоже может быть достаточно.

person abarnert    schedule 20.12.2012