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

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.


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ć.


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


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

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.



4

Jeśli używasz Anaconda3

Po prostu włóż

conda install -c conda-forge matplotlib

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!


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.


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.


0

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.