ImportError: nessun modulo denominato matplotlib.pyplot


149

Attualmente sto praticando matplotlib. Questo è il primo esempio che pratico.

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

Quando eseguo questo script con python ./plot_test.py, mostra la trama correttamente. Tuttavia, lo eseguo da solo, ./plot_test.pygenera i seguenti:

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 cerca matplotlib in diverse posizioni?

L'ambiente è:

Mac OS X 10.8.4 64bit
built-in python 2.7

numpy, scipy, matplotlib è installato con:

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

prova invece a usare #! / usr / bin / env python
Uku Loskit

1
#! / usr / bin / env python non ha funzionato, si verifica lo stesso errore.
NIMISHAN,

Risposte:


48

Hai due pitoni installati sul tuo computer, uno è il pitone standard fornito con Mac OSX e il secondo è quello che hai installato con le porte (questo è quello matplotlibinstallato nella sua libreria, quello fornito con macosx non lo fa) .

/usr/bin/python

È il mac python standard e dato che non ce l' matplotlibhai, dovresti sempre avviare lo script con quello installato con le porte.

Se python your_script.pyfunziona, cambia #!in:

#!/usr/bin/env python

Oppure inserisci il percorso completo per l'interprete Python che ha matplotlibinstallato nella sua libreria.


3
puoi approfondire un po 'di più. Sto affrontando gli stessi problemi.
Akash Kandpal,

1
Potete per favore fornire i passaggi. Inoltre non sto ottenendo quello che stai cercando di spiegare poiché sto affrontando lo stesso problema nel mio mac
bhaskar

Può succedere quando hai il nome file matplotlib.py nella tua directory di lavoro
Abhishek Parikh

4
In python3, un'installazione separata di matplotlib usando python3 -m pip install matplotlibrisolto l'errore. Testato su Ubuntu 16.04.
vineeshvs,

159

pip renderà la tua vita facile!

Passaggio 1: Installa pip - Controlla se hai già pip semplicemente scrivendo pip nella console di Python. Se non hai pip, ottieni uno script Python chiamato get-pip.py, via qui: https://pip.pypa.io/en/latest/installing.html o direttamente qui: https: //bootstrap.pypa .io / get-pip.py (potrebbe essere necessario utilizzare Salva con nome ..)

Passaggio 2: prendere nota di dove è stato salvato il file e cd la directory dal prompt dei comandi. Esegui lo script get-pip.py per installare pip. Puoi scrivere in cmd questa riga tra virgolette: "python. \ Get-pip.py"

Passaggio 3: ora nel tipo cmd: pip install matplotlib

E dovresti avere finito.


13
Nella domanda, si specifica che la libreria è già installata
tashuhka,

4
Ci sono troppi voti per questa risposta come attualmente scritto. Invece di scaricare pip, poiché (essendo su macosx) hanno già macport, l'OP dovrebbe essere eseguito sudo port install pip. In secondo luogo, per pipessere utili al di là della loro configurazione esistente, dovrebbero anche farlo sudo port install virtualenv, per gli "ambienti virtuali" di Python locali (forse chiamati python3-virtualenv). Quindi, dopo aver impostato e immesso (attivato) un nuovo virtualenv, esegui pip install ...all'interno di virtualenv. Infine, lo script python deve ancora essere invocato usando #!/usr/bin/env pythonper far funzionare tutto ciò.
michael

su Ubuntu ho usato Python ./get-pip.py --user e ha funzionato per me. grazie
LeleMarieC il

36

Se stai usando Python 2, esegui

sudo apt-get install python-matplotlib

Il modo migliore per ottenere matplotlibè:

pip install matplotlib

perché il modo precedente potrebbe darti una versione precedente di matplotlib


scusate, non ho specificato il sistema, sto usando Debian, i sistemi simili funzioneranno.
k.biao,

4
np, ma la domanda afferma: The environment is: Mac OS X 10.8.4 64bit built-in python 2.7
Lanting

puoi cercare il comando simile a 'apt-get' per il tuo OS X
k.biao

Su Ubuntu puoi usare sudo apt-get install python-matplotlibper python3.
user2023370

24

Questo ha funzionato per me, ispirato a Sheetal Kaul

pip uninstall matplotlib
python3 -m pip install matplotlib

Sapevo che era installato nel posto sbagliato quando funzionava:

python2.7
import matplotlib

12

primo controllo della versione di Python

per python2 Vesion

sudo apt-get install python-matplotlib

per la versione di python3

sudo apt-get install python3-matplotlib

se si abbina erroneamente l'installazione di matplotlib con la versione di Python non si otterrà alcun errore del modulo perché non esiste alcun modulo per quella versione.



4

Se si utilizza Anaconda3

Metti solo

conda install -c conda-forge matplotlib

1

Ho avuto un problema simile che ho risolto ed ecco il mio problema:

Ho impostato tutto su python3 ma stavo usando python per chiamare il mio file per esempio: stavo scrivendo "python mnist.py" ... dato che ho tutto su python3 pensavo che stavo provando a usare python 2.7

La correzione: "python3 mnist.py" - i 3 hanno fatto la differenza

Non sono affatto un esperto di Python o Pip, ma c'è sicuramente una differenza tra Pip e Pip3 (Pip è legato a Python 2.7) (Pip3 è legato a Python 3.6)

quindi durante l'installazione per 2.7 do: pip install durante l'installazione per 3.6 do: pip3 install

e quando esegui il tuo codice per 2.7 do: python quando esegui il tuo codice per 3.6 do: python3

Spero che questo aiuti qualcuno!


1

I commenti nel feed normale sono bloccati. Lasciami scrivere perché questo accade, proprio come quando hai eseguito la tua app.

Se hai eseguito script, python o ipython in un ambiente diverso da quello in cui lo hai installato, otterrai questi problemi.

Non confondere reinstallandolo. Matplotlib è normalmente installato nel tuo ambiente utente, non in sudo. Stai cambiando l'ambiente.

Quindi non reinstallare pip, assicurati di eseguirlo come sudo se lo hai installato nell'ambiente sudo.


0

Ho sbattuto la testa su questo per ore fino a quando ho pensato di controllare il mio .bash_profile. Non avevo un percorso elencato per python3, quindi ho aggiunto il seguente codice:

# 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

E quindi reinstallato matplotlib con sudo pip3 install matplotlib. Ora funziona tutto magnificamente.


0

Quindi ho usato python3 -m pip install matplotlib' thenimport matplotlib.pyplot come plt` e ha funzionato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.