属性错误:模块“串行”没有属性“串行”

问题描述 投票:0回答:7
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'

您还可以给我一些获得每个引脚的建议吗?

python arduino serial-port
7个回答
33
投票

我使用“pip3 install串行”安装了串行库,即使使用“导入串行”调用该库也会出现相同的错误。然后我发现如果先UNINSTALL序列:

pip3 uninstall serial

然后安装pyserial:

pip3 install pyserial

修复了 python 3 的问题。


2
投票

完全卸载python和pyserial包然后

安装 python(在我的例子中是 python 3) -

对于所有用户并正确添加路径

然后使用

pip3 用于安装 pyserial

解决了我的所有问题


2
投票

我遇到了同样的错误,但对我有用的是:

  1. 卸载序列号:
    pip3 uninstall serial
  2. 卸载pyserial:
    pip3 uninstall pyserial
  3. 重新安装以前版本的 pyserial:
    pip3 install pyserial==3.3
    (我有3.5版本)

1
投票

查看文档,看起来您只需要这样做

import serial

而不是

from serial import serial

http://pyserial.readthedocs.io/en/latest/shortintro.html


0
投票

我想使用minimalmodbus,但得到了与本文标题相同的错误消息。什么对我有用:

sudo apt install python-is-python3

显然 python 2 和 3 之间存在一些混淆,python-is-python3 解决了它。


0
投票

当我遇到同样的问题时,我发现以下方法有效:

from serial import *

0
投票

最近我也遇到了同样的错误。我进来的原因是这样的。

在使用spyder 5.4.2(debian 存储库原生)之前,我使用的是spyder 版本6,与flatpak 一起安装。

很奇怪,因为旧脚本运行良好,然后我想是否可以在 Jupyter Notebook 中证明相同的脚本?没问题!然后我在Pyzo中证明,零问题,进一步我决定重新安装spyder 5.4.2,令人惊讶的是,它工作了:

import serial

puerto_serial = '/dev/ttyACM0'
baud_rate = 9600
timeout = 10
    
arduino = serial.Serial(puerto_serial, baud_rate, timeout=timeout)

我的愚见,是否是IDE的问题?

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.