ImportError: нет модуля с именем matplotlib.pyplot


149

В настоящее время я практикую matplotlib. Это первый пример, который я практикую.

#!/usr/bin/python

import matplotlib.pyplot as plt

radius = [1.0, 2.0, 3.0, 4.0]
area = [3.14159, 12.56636, 28.27431, 50.26544]

plt.plot(radius, area)
plt.show()

Когда я запускаю этот скрипт с python ./plot_test.py, он показывает график правильно. Тем не менее, я запускаю его сам ./plot_test.py, он выбрасывает следующее:

Traceback (most recent call last):
File "./plot_test.py", line 3, in <module>
  import matplotlib.pyplot as plt
ImportError: No module named matplotlib.pyplot

Python ищет matplotlib в разных местах?

Среда это:

Mac OS X 10.8.4 64bit
built-in python 2.7

Numpy, Scipy, Matplotlib устанавливается с:

sudo port install py27-numpy py27-scipy py27-matplotlib \
py27-ipython +notebook py27-pandas py27-sympy py27-nose

попробуйте вместо этого использовать #! / usr / bin / env python
Uku Loskit

1
Python #! / usr / bin / env не работает, возникает та же ошибка.
НИМИШАН

Ответы:


48

На вашем компьютере установлено два питона, один из них является стандартным Python, который поставляется с Mac OSX, а второй - тот, который вы установили с портами (это тот, который matplotlibустановлен в его библиотеке, а тот, который поставляется с Macosx, - нет). ,

/usr/bin/python

Является стандартным Mac Python, и, поскольку он не имеет, matplotlibвы всегда должны запускать свой скрипт с тем, который установлен с портами.

Если python your_script.pyработает, то измените на #!:

#!/usr/bin/env python

Или укажите полный путь к интерпретатору python, в котором matplotlibустановлена ​​библиотека.


3
Вы можете уточнить немного больше. Я сталкиваюсь с теми же проблемами.
Акаш Кандпал

1
Можете ли вы предоставить шаги. Я также не понимаю, что вы пытаетесь объяснить, так как я сталкиваюсь с той же проблемой в моем mac
bhaskar

Это может произойти, если у вас есть имя файла matplotlib.py в вашем рабочем каталоге
Abhishek Parikh

4
В python3, отдельная установка matplotlib с помощью python3 -m pip install matplotlibрешает ошибку. Проверено на Ubuntu 16.04.
vineeshvs

159

pip сделает вашу жизнь проще!

Шаг 1: Установите pip - проверьте, что у вас уже есть pip, просто написав pip в консоли python. Если у вас нет pip, получите скрипт на python с именем get-pip.py, используя здесь: https://pip.pypa.io/en/latest/install.html или непосредственно здесь: https: //bootstrap.pypa .io / get-pip.py (возможно, вам придется использовать Save As ..)

Шаг 2: Запомните, куда был сохранен файл, и перейдите в каталог из командной строки. Запустите скрипт get-pip.py для установки pip. Вы можете написать в cmd эту строку в кавычках: "python. \ Get-pip.py"

Шаг 3: Теперь в типе cmd: pip install matplotlib

И вы должны быть до конца.


13
В вопросе указано, что библиотека уже установлена
ташухка

4
Слишком много возражений за этот ответ, как написано в настоящее время. Вместо загрузки pip, так как они (находящиеся на macosx) уже имеют macports, OP должен работать sudo port install pip. Во-вторых, для того, pipчтобы быть полезными вне их существующей установки, они также должны делать sudo port install virtualenvдля локальных питоновских «виртуальных сред» (возможно, называемых python3-virtualenv). Затем, после настройки и ввода (активации) нового virtualenv, бегите pip install ...внутри virtualenv. Наконец, сценарий python все еще должен быть запущен с использованием #!/usr/bin/env pythonлюбой из этих функций.
Майкл

в Ubuntu я использовал python ./get-pip.py --user, и это сработало для меня. ТНХ
LeleMarieC

36

Если вы используете Python 2, просто запустите

sudo apt-get install python-matplotlib

Лучший способ получить matplotlibэто:

pip install matplotlib

потому что предыдущий способ может дать вам старую версию matplotlib


извините, я не указал систему, я использую Debian, аналогичные системы будут работать.
k.biao

4
нп, но вопрос гласит: The environment is: Mac OS X 10.8.4 64bit built-in python 2.7
Lanting

вы можете найти команду similary для 'apt-get' для вашей OS X
k.biao

На Ubuntu вы можете использовать sudo apt-get install python-matplotlibдля Python3.
user2023370

24

Это сработало для меня, вдохновленный Sheetal Kaul

pip uninstall matplotlib
python3 -m pip install matplotlib

Я знал, что он установлен не в том месте, когда это работало:

python2.7
import matplotlib

12

Первая проверка версии Python

для python2 Vesion

sudo apt-get install python-matplotlib

для версии python3

sudo apt-get install python3-matplotlib

если вы пропустили установку matplotlib с версией python, вы получите сообщение «Нет ошибки модуля», потому что ни один модуль для этой версии не завершится.




1

У меня была похожая проблема, которую я решил, и вот моя проблема:

Я установил все на python3, но я использовал python для вызова моего файла, например: я набирал "python mnist.py" ... так как у меня все на python3, я думал, что пытаюсь использовать python 2.7

Исправление: "python3 mnist.py" - 3 сделали все различия

Я ни в коем случае не эксперт в python или pip, но между pip и pip3 определенно есть разница (pip связан с python 2.7) (pip3 связан с python 3.6)

поэтому при установке для 2.7 do: pip install при установке для 3.6 do: pip3 install

и при запуске вашего кода для 2.7 do: python при запуске вашего кода для 3.6 do: python3

Я надеюсь, что это поможет кому-то!


1

Комментарии в нормальном фиде заблокированы. Позвольте мне написать, почему это происходит, так же, как когда вы запускали свое приложение.

Если вы запускали сценарии, python или ipython в другой среде, отличной от той, в которой вы их установили, вы получите эти проблемы.

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

Поэтому не переустанавливайте pip, просто убедитесь, что вы используете его как sudo, если вы установили его в среде sudo.


0

Я несколько часов думал об этом, пока не подумал проверить свой .bash_profile. У меня не было пути в списке для python3, поэтому я добавил следующий код:

# Setting PATH for Python 3.6
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH

А затем переустановил matplotlib с sudo pip3 install matplotlib. Теперь все работает прекрасно.


0

Поэтому я использовал python3 -m pip install matplotlib' thenимпорт matplotlib.pyplot как plt`, и это сработало.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.