'serial'没有属性串行错误,没有文件名或导入方法

时间:2018-12-18 13:54:10

标签: python

我在这里一直在寻找类似的解决方案,但是,我能找到的唯一解决方案并不能解决问题,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()

2 个答案:

答案 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

此后,它就像一种魅力。