ModuleNotFoundError : No module named smbus2.
Fermémamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 - 15 déc. 2022 à 16:26
- No module named 'smbus2'
- Modulenotfounderror: no module named 'encodings' - Forum Python
- Modulenotfounderror: no module named 'babel.numbers' ✓ - Forum Python
- Modulenotfounderror: no module named 'pyxlsb' - Forum Python
- Modulenotfounderror: no module named 'pygame' ✓ - Forum Python
- Python modulenotfounderror ✓ - Forum Python
5 réponses
15 déc. 2022 à 11:12
Bonjour,
- Dans quel dossier est installé le module smbus2 ?
- Ce dossier est-il référencé parmi ceux listés dans :
import sys print(sys.path)
- En particulier, si tu as plusieurs versions de python et/ou que tu utilises des venv, assure-toi que le pip et le python utilisés sont cohérents (par exemple; si pip installe des modules pour python3.9 mais que dans les faits tu utilises python3.8, alors python3.8 ne trouvera pas le module que tu auras installé).
Bonne chance
Bonsoir, es-tu certain que ce module s'est correctement installé ?
Que donne :
pip3 show smbus2
et
apt show smbus
As-tu plusieurs version de python3 sur ton poste ?
15 déc. 2022 à 13:27
Bonjour,
Tu peux préciser pour une version spécifique de python utiliser pip comme expliqué ici. Par exemple pour installer smbus en python3.9 :
python3.9 -m pip install smbus
Bonne chance
J'ai installé smbus2 et pip show me montre bien qu'il est installé dans la version de python de mon env python 3.7
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question15 déc. 2022 à 16:26
Bonjour,
Plutôt que faire une capture d'écran peu pratique pour tout le monde et peu écologique, peux-tu plutôt copier coller le contenu du terminal la prochaine fois ?
En l'occurrence il faut comparer le dossier dans est installé ton module :
ls /home/smartbin/meta-tf2/lib/python3.7/site-packages
... avec les chemins listés dans ton programme par :
import sys print(sys.path)
Peux-tu reporter le résultat du ls et du script ci-dessus ?
J'ai l'impression que tu utilises un venv (virtual environment) dans ton IDE et que tu es sous Ubuntu.
Il y a deux écoles :
- soit ton projet est configuré dans un venv et ses dépendances doivent être installés dans ce venv
- dans ce cas, les modules sont installés depuis le terminal dans le venv de ton projet (et mis à disposition par ton IDE) et dans ce cas les modules sont installés via pip (qui ici est un alias de pip3)
- soit ton projet n'est pas configuré dans un venv et ses dépendances doivent être installés au niveau du système
- dans ce cas, les modules sont installés depuis un terminal Linux, de préférence via apt et sinon via pip3. pour python3 et pip pour python2
Il n'y a pas vraiment de bonne ou de mauvaise approche, les deux méthodes ont leur avantages et leur inconvénients.
Les venv sont précisément là pour :
- abstraire ton projet de ce qui est peut être installé sur ton système et s'assurer que tu as conscience de toutes les dépendances de ton projet,
- dé-corréler ton projet des mises à jour de ton système
- en contrepartie, tu réinstalles python pour chaque projet, ce qui peu à terme être volumineux (et redondant)
Vu ce qui est affiché à ton écran, j'ai l'impression que tu es dans le venv meta-tf2. Les dépendances pip d'un venv sont généralement listées dans un fichier requirements.txt.
Bonne chance
15 déc. 2022 à 12:11
Le module est installé dans la librairie avec l'ensemble des autres packages.
Si comme vous le précisez dans votre message, pip et python ne sont pas cohérents, faut-il télécharger pip pour mon environnement python 3.7