Python AttributeError: l'objet 'module' n'a pas d'attribut 'Serial'


Answers

J'ajoute cette solution pour les gens qui font la même erreur que moi.

Dans la plupart des cas, renommez le fichier de votre projet 'serial.py' et supprimez le fichier serial.pyc s'il existe, vous pouvez alors faire un simple 'import serial' sans erreur d'attribut.

Le problème se produit quand vous importez 'quelque chose' quand votre nom de fichier python est 'something.py'.

Question

J'essaie d'accéder à un port série avec Python 2.6 sur mon Raspberry Pi exécutant Debian. Mon script nommé serial.py essaie d'importer pySerial:

import serial
ser = serial.Serial('/dev/ttyAMA0', 9600)
ser.write("hello world!")

Pour une raison quelconque, il refuse d'établir la connexion série avec cette erreur:

AttributeError: 'module' object has no attribute 'Serial'

Lorsque j'essaie de taper le même code dans l'interpréteur Python interactif, cela ne fonctionne toujours pas.

Bizarrement, cela fonctionnait il y a quelques heures.

Quel pourrait être le problème? J'ai essayé de résoudre ce problème pendant un moment, en réinstallant pySerial, en réécrivant mon code, en revérifiant le port série, etc.

Merci d'avance!




Ce problème est que votre projet est nommé serial.py et que la bibliothèque importée est aussi en série, changez le nom et c'est tout.




Si vous êtes impuissant comme moi, essayez ceci:

Liste de tous les sous-modules de "Serial" (ou de tout autre paquet avec lequel vous avez des problèmes) avec la méthode décrite ici: Liste tous les modules qui font partie d'un paquet python

Dans mon cas, les problèmes se sont résolus les uns après les autres.

... ressemble à un bug pour moi ...






Links