2 votes

serial' n'a pas d'attribut Serial Error, pas de nom de fichier ni de méthode d'importation.

J'ai cherché des solutions similaires ici mais les seules que j'ai trouvées ne résolvent pas le problème, et les solutions comme celle-ci Le module python 'serial' n'a pas d'attribut 'Serial' [duplicate]. n'est pas résolu.

Ce code

self.ser = serial.Serial(port=self.dev_path, baudrate=600, bytesize=8, parity='N', stopbits=1, timeout=None)

donne l'erreur

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

J'importe la série comme

import serial

Cependant, d'autres solutions suggèrent d'utiliser

from serial import Serial

il donne l'erreur

NameError: name 'serial' is not defined

Modifier le code complet :

def __init__(self, debugging=False):
    # self.ser = serial.Serial(port='/dev/ttyUSB0',baudrate=600, bytesize=8, parity='N', stopbits=1, timeout=None)
    self.ser = serial.Serial(port=self.dev_path, baudrate=600, bytesize=8, parity='N', stopbits=1, timeout=None)
    print(str(self.ser.name))
    self.status()
    self.debug = debugging
    if (self.debug):
        print(self.ser.name)
        print("Pulse: " + str(self.pulse) + "\n")

def __del__(self):
    self.ser.close()

4voto

kalehmann Points 3337

Vous avez peut-être installé le paquet de série sérialisation/désérialisation de JSON/YAML/XML en instances de classe python et vice versa et non le paquet pySerial pour accéder au port série ?

Essayez de désinstaller le serial et installez le pyserial à la place :

pip uninstall serial
pip install pyserial

Assurez-vous également que votre fichier ne s'appelle pas serial.py . Dans ce cas import serial il suffit d'importer votre propre fichier.

0voto

Sphynx Points 1

Je viens de rencontrer ce problème, et pour moi, il s'agissait d'importer serial sur pyserial avant d'essayer quoi que ce soit en premier lieu. Pour y remédier, j'ai dû effectuer ce qui suit :

pip uninstall serial
pip uninstall pyserial
pip install pyserial

Après ça, ça a marché comme sur des roulettes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X