Dans le cadre de mon apprentissage de la programmation en Python et à l’occasion de l’acquisition d’un Raspberry 3 pour Noël (^_^), je me suis heurté à un soucis dès les premières minutes : impossible de charger une bibliothèque pourtant fraîchement installée :/
C’est à l’occasion de la découverte de mon tout nouveau Raspberry Pi 3 et des pages de ressources qui lui sont dédiées que je me suis retrouvé bloqué dès les premières minutes du tutoriel sur la programmation Python et la récupération via une API de données météorologiques.
En effet, pour suivre ce fameux cours intitulé « Graphing the weather » j’ai du installer deux bibliothèques Python non pré installées dans le pi, grâce à la commande suivante :
sudo apt-get install python3-matplotlib -y
sudo apt-get install python3-requests -y
Le hic c’est que j’ai eu un petit soucis avec matplotlib, Python m’indiquait systématiquement « ImportError: No module named matplotlib.pyplot« .
Après avoir passé plusieurs longues minutes à surfer sur le net, sans trouver de solution propre à mon cas de figure (je veux dire par là, ma configuration, je programme sur Raspberry Pi 3).Sur d’autres systèmes (mac par ex.) il fallait vérifier si la bibliothèque était installée au bon endroit (selon qu’on utilise Pthon 2 ou 3). Même « pip install » n’a pas fonctionné (problème de compilation de code, du coup j’ai regardé du côté des outils de compilation à installer ou mettre à jour… ça n’a pas résolu mon problème de matplotlib….). En regardant du côté du Shell Python j’ai voulu vérifier si malgré tout matplotlib était installé via la commande « help() » puis après avoir valider avec le paramètre « modules » : il était bien présent
Finalement j’ai pu finalement trouver la solution à ce problème de matplotlib. La méthode consiste à corriger un problème d’installation.
sudo apt-get install python-matplotlib
Et oui, après avoir installé matplotlib pour python 3, on l’installe à nouveau mais pour …. ben python tout court.
J’espère que ça vous aidera, n’hésitez pas à partager autour de vous!