我在这里一直在寻找类似的解决方案,但是,我能找到的唯一解决方案并不能解决问题,python module 'serial' has no attribute 'Serial' [duplicate]这样的解决方案也无法解决。
此代码
self.ser = serial.Serial(port=self.dev_path, baudrate=600, bytesize=8, parity='N', stopbits=1, timeout=None)
给出错误
AttributeError: module 'serial' has no attribute 'Serial'
我将序列导入为
import serial
但是其他解决方案建议使用
from serial import Serial
显示错误
NameError: name 'serial' is not defined
编辑完整代码:
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()
答案 0 :(得分:1)
也许您已将the serial package 将JSON / YAML / XML序列化/反序列化到python类实例中,反之亦然,而没有安装pySerial package来访问串行端口了?>
尝试卸载serial
软件包并安装pyserial
软件包:
pip uninstall serial
pip install pyserial
还要确保您的文件未命名为serial.py
。在这种情况下,import serial
只会导入您自己的文件。
答案 1 :(得分:0)
我只是遇到了这个问题,对我来说,这与在尝试任何方法之前先通过pyserial导入serial有关。为了补救,我必须执行以下操作:
pip uninstall serial
pip uninstall pyserial
pip install pyserial
此后,它就像一种魅力。