ImportError: aucun module nommé matplotlib.pyplot


149

Je pratique actuellement matplotlib. C'est le premier exemple que je pratique.

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

Lorsque j'exécute ce script avec python ./plot_test.py, il affiche correctement l'intrigue. Cependant, je le lance tout seul ./plot_test.py, il lance les éléments suivants:

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 recherche-t-il matplotlib à différents endroits?

L'environnement est:

Mac OS X 10.8.4 64bit
built-in python 2.7

numpy, scipy, matplotlib est installé avec:

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

essayez d'utiliser #! / usr / bin / env python à la place
Uku Loskit

1
#! / usr / bin / env python n'a pas fonctionné, la même erreur se produit.
NIMISHAN

Réponses:


48

Vous avez deux pythons installés sur votre machine, l'un est le python standard fourni avec Mac OSX et le second est celui que vous avez installé avec les ports (c'est celui qui a matplotlibinstallé dans sa bibliothèque, celui fourni avec macosx ne le fait pas) .

/usr/bin/python

Est le python mac standard et comme il ne l'a pas, matplotlibvous devez toujours démarrer votre script avec celui installé avec les ports.

Si cela python your_script.pyfonctionne, changez le #!en:

#!/usr/bin/env python

Ou mettez le chemin complet vers l'interpréteur python qui a matplotlibinstallé dans sa bibliothèque.


3
pouvez-vous élaborer un peu plus. Je suis confronté aux mêmes problèmes.
Akash Kandpal

1
Pouvez-vous s'il vous plaît fournir les étapes. Je ne comprends pas non plus ce que vous essayez d'expliquer car je suis confronté au même problème dans mon mac
bhaskar

Cela peut arriver lorsque vous avez le nom de fichier matplotlib.py dans votre répertoire de travail
Abhishek Parikh

4
Dans python3, une installation séparée de matplotlib en utilisant a python3 -m pip install matplotlibrésolu l'erreur. Testé sur Ubuntu 16.04.
vineeshvs

159

pip vous facilitera la vie!

Étape 1: Installez pip - Vérifiez si vous avez déjà pip simplement en écrivant pip dans la console python. Si vous n'avez pas de pip, obtenez un script python appelé get-pip.py, via ici: https://pip.pypa.io/en/latest/installing.html ou directement ici: https: //bootstrap.pypa .io / get-pip.py (Vous devrez peut-être utiliser Enregistrer sous ..)

Étape 2: notez où le fichier a été enregistré et cd le répertoire à partir de l'invite de commande. Exécutez le script get-pip.py pour installer pip. Vous pouvez écrire dans cmd cette ligne entre guillemets: "python. \ Get-pip.py"

Étape 3: maintenant en type cmd: pip install matplotlib

Et vous devriez avoir fini.


13
Dans la question, il est précisé que la bibliothèque est déjà installée
tashuhka

4
Il y a trop de votes positifs pour cette réponse telle qu'elle est actuellement rédigée. Au lieu de télécharger pip, puisqu'ils (étant sur macosx) ont déjà des macports, l'OP devrait s'exécuter sudo port install pip. Deuxièmement, pour pipêtre utiles au-delà de leur configuration existante, ils devraient également le faire sudo port install virtualenv, pour les «environnements virtuels» python locaux (peut-être appelés python3-virtualenv). Ensuite, après avoir configuré et entré (activé) un nouveau virtualenv, exécutez pip install ...le virtualenv. Enfin, le script python doit toujours être appelé #!/usr/bin/env pythonpour que tout cela fonctionne.
michael

sur ubuntu, j'ai utilisé python ./get-pip.py --user et cela a fonctionné pour moi. thx
LeleMarieC

36

Si vous utilisez Python 2, exécutez simplement

sudo apt-get install python-matplotlib

La meilleure façon d'obtenir matplotlibest:

pip install matplotlib

car la méthode précédente peut vous donner une ancienne version de matplotlib


désolé, je n'ai pas spécifié le système, j'utilise Debian, des systèmes similaires fonctionneront.
k.biao

4
np, mais la question déclare: The environment is: Mac OS X 10.8.4 64bit built-in python 2.7
Lanting

vous pouvez rechercher la commande similaire à 'apt-get' pour votre OS X
k.biao

Sur Ubuntu, vous pouvez utiliser sudo apt-get install python-matplotlibpour python3.
user2023370 le

24

Cela a fonctionné pour moi, inspiré par Sheetal Kaul

pip uninstall matplotlib
python3 -m pip install matplotlib

Je savais qu'il était installé au mauvais endroit lorsque cela fonctionnait:

python2.7
import matplotlib

12

première vérification de la version de python

pour python2 Vesion

sudo apt-get install python-matplotlib

pour la version python3

sudo apt-get install python3-matplotlib

si vous ne correspondez pas à l'installation de matplotlib avec la version python, vous n'obtiendrez aucune erreur de module car aucun module pour cette version ne se ferme.



4

Si vous utilisez Anaconda3

Juste mettre

conda install -c conda-forge matplotlib

1

J'ai eu un problème similaire que j'ai résolu et voici mon problème:

J'ai tout configuré sur python3 mais j'utilisais python pour appeler mon fichier par exemple: je tapais "python mnist.py" ... comme j'ai tout sur python3, je pensais que j'essayais d'utiliser python 2.7

La correction: "python3 mnist.py" - les 3 ont fait toute la différence

Je ne suis en aucun cas un expert en python ou pip, mais il y a certainement une différence entre pip et pip3 (pip est lié à python 2.7) (pip3 est lié à python 3.6)

donc lors de l'installation pour 2.7 do: pip install lors de l'installation pour 3.6 do: pip3 install

et lors de l'exécution de votre code pour 2.7 do: python lors de l'exécution de votre code pour 3.6 do: python3

J'espère que ça aidera quelqu'un!


1

Les commentaires dans le flux normal sont bloqués. Laissez-moi vous expliquer pourquoi cela se produit, comme lorsque vous avez exécuté votre application.

Si vous avez exécuté des scripts, python ou ipython dans un autre environnement que celui que vous avez installé, vous rencontrerez ces problèmes.

Ne confondez pas le réinstaller. Matplotlib est normalement installé dans votre environnement utilisateur, pas dans sudo. Vous changez l'environnement.

Donc, ne réinstallez pas pip, assurez-vous simplement de l'exécuter en tant que sudo si vous l'avez installé dans l'environnement sudo.


0

Je me suis cogné la tête pendant des heures jusqu'à ce que je pense à vérifier mon .bash_profile. Je n'avais pas de chemin répertorié pour python3, j'ai donc ajouté le code suivant:

# 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

Et puis réinstallé matplotlib avec sudo pip3 install matplotlib. Tout fonctionne à merveille maintenant.


0

J'ai donc utilisé python3 -m pip install matplotlib' thenimport matplotlib.pyplot comme plt` et cela a fonctionné.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.