属性错误:模块“serial”没有“Serial”属性。

5
from serial import serial
joystick = serial.Serial("COM3", 9600)
joystick_x = joystick.write('0')
if joystick_x==1023:
    print("Right")
elif joystick_x != 1023:
    print("Not right");

我收到了错误信息:

Traceback (most recent call last):
  File "C:/Users/Mine_science/Desktop/snu6/산출물/arduino.py", line 1, in <module>
    from serial import serial
  File "C:\Users\Mine_science\AppData\Local\Programs\Python\Python35\lib\site-packages\serial\serial\__init__.py", line 13, in <module>
    from serial.serialutil import *
ImportError: No module named 'serial.serialutil'

此外,您能否给我一些获取每个引脚的建议。

2
你的应用程序中有一个名为serial.py的文件吗? - e4c5
1
标题中的错误信息与正文中的不匹配,你到底是得到了哪一个? - ForceBru
6个回答

28

我使用“pip3 install serial”安装了串口库,即使使用“import serial”调用该库也会出现相同的错误。然后我发现如果首先卸载串口库:

pip3 uninstall serial

然后安装pyserial:

pip3 install pyserial

修复了Python 3的问题。


这解决了我的 AttributeError: module 'serial' has no attribute 'Serial' 问题。 - AstroFloyd
在我的情况下,重新安装pyserial有所帮助。 - Paul

2
彻底卸载 Python 和 Pyserial 包,然后重新安装 Python(我使用的是 Python 3),

为所有用户添加正确的路径

然后使用

pip3 安装 Pyserial

解决了我的所有问题。


2

我之前也遇到了同样的错误,但是以下方法对我有效:

  1. 卸载serial库: pip3 uninstall serial
  2. 卸载pyserial库: pip3 uninstall pyserial
  3. 重新安装pyserial库的旧版本:pip3 install pyserial==3.3(我之前使用的是3.5版本)

1

我解决了这个问题。实际上,我没有下载Python中的库:P。 - 문태현
1
使用pip3安装串行库后,即使我使用“import serial”调用它,我仍然得到相同的答案。 - Luis Jose

0
我发现当我遇到同样的问题时,以下方法可行:
from serial import *

0

我想使用minimalmodbus,但是遇到了与此帖子标题相同的错误消息。对我有用的解决方法:

sudo apt install python-is-python3

显然,在python 2和3之间存在一些混淆,而python-is-python3解决了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接