解决AttributeError: module ‘serial‘ has no attribute ‘Serial‘

目录

  • 前言
  • 1.serial与pyserial只能安装一个
  • 2.重装pyserial
  • 3.不能出现文件名为serial.py
  • 4.其他
  • 结语


前言

最近在搞上位机时遇到了报错AttributeError: module ‘serial’ has no attribute ‘Serial’,翻译过来就是serial类没有Serial对象。然后卡了一个小时才解决,试了网上很多方法,最后才发现报错原因,这问题python也有责任。
下面说下一般的解决方法。


1.serial与pyserial只能安装一个

python3之后串口都改为pyserial,serial与pyserial区别不大,直接用pyserial就可以了。
而我遇到的问题是同时安装了serial与pyserial,导致报错,两者并不能同时安装,这点在pip时应该给予提示。所以如果是这个问题,同时卸载serial与pyserial,然后只安装pyserial。

2.重装pyserial

这是网上最多人说的方法,一言不合就重装。网上还有人说没有安装pyserial,这是错误的说法,如果没有安装会报错无法import serial(注意用pyserial也是import serial),而不是报这个错。

3.不能出现文件名为serial.py

原因很简单,import serial时会跳转到自己的文件,而不是官方库。

4.其他

在用serial.Serial时注意要加参数timeout,否则可能会卡在里面。


结语

最近在搞机械臂相关项目,过段时间会开源部分代码,介绍下涉及的上位机驱动和运动学算法。

你可能感兴趣的:(其他/bug,python,pyserial,serial,串口,AttributeError)