ImportError: Brak modułu o nazwie matplotlib.pyplot

149

Obecnie ćwiczę matplotlib. To jest pierwszy przykład, który ćwiczę.

#!/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()

Kiedy uruchamiam ten skrypt z python ./plot_test.py, pokazuje poprawnie wykres. Jednak uruchamiam go samodzielnie, ./plot_test.pyrzuca następujące informacje:

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

Czy Python szuka matplotlib w różnych lokalizacjach?

Środowisko to:

Mac OS X 10.8.4 64bit
built-in python 2.7

numpy, scipy, matplotlib jest instalowane z:

sudo port install py27-numpy py27-scipy py27-matplotlib \
py27-ipython +notebook py27-pandas py27-sympy py27-nose
piosenka piosenka
źródło
spróbuj zamiast tego użyć #! / usr / bin / env python
Uku Loskit
1
#! / usr / bin / env python nie działał, pojawia się ten sam błąd.
NIMISHAN

Odpowiedzi:

48

Masz dwa pythony zainstalowane na swoim komputerze, jeden to standardowy Python dostarczany z systemem Mac OSX, a drugi to ten, który zainstalowałeś z portami (to ten, który został matplotlibzainstalowany w jego bibliotece, ten, który jest dostarczany z macosx, nie) .

/usr/bin/python

Jest standardowym pythonem dla Maca, a ponieważ go nie ma matplotlib, zawsze powinieneś uruchamiać swój skrypt tym zainstalowanym z portami.

Jeśli python your_script.pydziała, zmień na #!:

#!/usr/bin/env python

Lub podaj pełną ścieżkę do interpretera Pythona, który ma matplotlibzainstalowany w swojej bibliotece.

Viktor Kerkez
źródło
3
czy możesz rozwinąć trochę więcej. Mam te same problemy.
Akash Kandpal
1
Czy możesz podać kroki. Nie rozumiem też tego, co próbujesz wyjaśnić, ponieważ mam ten sam problem w moim komputerze Mac
bhaskar
Może się tak zdarzyć, gdy w katalogu roboczym znajduje się plik matplotlib.py
Abhishek Parikh
4
W python3 oddzielna instalacja matplotlib za pomocą python3 -m pip install matplotlibrozwiązała błąd. Testowane na Ubuntu 16.04.
Vineeshvs
159

pip ułatwi Ci życie!

Krok 1: Zainstaluj pip - Sprawdź, czy masz już pip, po prostu pisząc pip w konsoli Pythona. Jeśli nie masz pip, pobierz skrypt Pythona o nazwie get-pip.py, tutaj: https://pip.pypa.io/en/latest/installing.html lub bezpośrednio tutaj: https: //bootstrap.pypa .io / get-pip.py (może być konieczne użycie opcji Zapisz jako)

Krok 2: Zanotuj, gdzie plik został zapisany i przejdź do katalogu z wiersza poleceń. Uruchom skrypt get-pip.py, aby zainstalować pip. Możesz napisać w cmd tę linię w cudzysłowie: "python. \ Get-pip.py"

Krok 3: Teraz w typie cmd: pip install matplotlib

I powinieneś skończyć.

Sheetal Kaul
źródło
13
W pytaniu określono, że biblioteka jest już zainstalowana
tashuhka
4
Jest zbyt wiele głosów za tą odpowiedzią w obecnej formie. Zamiast pobierać pip, ponieważ (będąc na macosx) mają już macport, OP powinien działać sudo port install pip. Po drugie, pipaby były użyteczne poza istniejącą konfiguracją, powinny również działać sudo port install virtualenvw lokalnych „środowiskach wirtualnych” języka Python (być może nazywanych python3-virtualenv). Następnie, po skonfigurowaniu i wprowadzeniu (aktywacji) nowego virtualenv, uruchom go pip install ...wewnątrz virtualenv. Wreszcie, skrypt Pythona nadal musi być wywoływany przy użyciu, #!/usr/bin/env pythonaby cokolwiek z tego działało.
michael
na Ubuntu użyłem pythona ./get-pip.py --user i to zadziałało. thx
LeleMarieC
36

Jeśli używasz Pythona 2, po prostu uruchom

sudo apt-get install python-matplotlib

Najlepszym sposobem na zdobycie matplotlibjest:

pip install matplotlib

ponieważ poprzedni sposób może dać ci starą wersję matplotlib

k.biao
źródło
przepraszam, nie określiłem systemu, używam Debiana, podobne systemy będą działać.
k.biao,
4
np, ale pytanie brzmi: The environment is: Mac OS X 10.8.4 64bit built-in python 2.7
Lanting
możesz wyszukać polecenie podobne do „apt-get” dla swojego OS X
k.biao
W Ubuntu możesz używać sudo apt-get install python-matplotlibdla python3.
user2023370
24

To zadziałało dla mnie, zainspirowane Sheetal Kaul

pip uninstall matplotlib
python3 -m pip install matplotlib

Wiedziałem, że został zainstalowany w złym miejscu, kiedy to zadziałało:

python2.7
import matplotlib
Punnerud
źródło
12

najpierw sprawdź wersję Pythona

dla python2 Vesion

sudo apt-get install python-matplotlib

dla wersji python3

sudo apt-get install python3-matplotlib

jeśli pominiesz dopasowanie instalacji matplotlib do wersji Pythona, otrzymasz komunikat Brak błędu modułu, ponieważ nie istnieje żaden moduł dla tej wersji.

negi
źródło
8

W przypadku python3. Po prostu muszę biecpip3 install matplotlib

wprowadź opis obrazu tutaj

Hoang Tran Son
źródło
4

Jeśli używasz Anaconda3

Po prostu włóż

conda install -c conda-forge matplotlib
Ashiq Imran
źródło
1

Miałem podobny problem, który rozwiązałem, a oto mój problem:

Skonfigurowałem wszystko w pythonie3, ale użyłem pythona do wywołania mojego pliku, na przykład: wpisałem „python mnist.py” ... ponieważ mam wszystko na python3, myślałem, że próbuję użyć pythona 2.7

Poprawka: „python3 mnist.py” - 3 zrobiło różnicę

W żadnym wypadku nie jestem ekspertem w Pythonie ani PIP, ale zdecydowanie istnieje różnica między pip a pip3 (pip jest powiązany z Pythonem 2.7) (pip3 jest powiązany z Pythonem 3.6)

więc podczas instalacji w wersji 2.7 wykonaj: pip install podczas instalacji w wersji 3.6 do: pip3 install

a uruchamiając kod w wersji 2.7 wykonaj: python, uruchamiając kod w wersji 3.6 wykonaj: python3

Mam nadzieję, że to komuś pomoże!

Dinob661
źródło
1

Komentarze w normalnym kanale są blokowane. Napiszę, dlaczego tak się dzieje, tak jak podczas uruchamiania aplikacji.

Jeśli uruchomiłeś skrypty, Python lub ipython w innym środowisku niż to, w którym je zainstalowałeś, otrzymasz te problemy.

Nie należy mylić ponownej instalacji. Matplotlib jest zwykle instalowany w środowisku użytkownika, a nie w sudo. Zmieniasz środowisko.

Więc nie instaluj ponownie pip, po prostu upewnij się, że uruchamiasz go jako sudo, jeśli zainstalowałeś go w środowisku sudo.

Alekssandro Assis Barbosa
źródło
0

Gwałtowałem się w to przez wiele godzin, aż pomyślałem o sprawdzeniu mojego .bash_profile. Nie miałem podanej ścieżki dla python3, więc dodałem następujący kod:

# 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

Następnie ponownie zainstalowałem matplotlib z sudo pip3 install matplotlib. Teraz wszystko działa pięknie.

David
źródło
0

Więc użyłem python3 -m pip install matplotlib' thenimport matplotlib.pyplot jako plt` i zadziałało.

Arif Khan
źródło