ImportError: cannot import name 'Serial' from 'serial' (unknown location)

ImportError: cannot import name 'Serial' from 'serial' (unknown location)

每当我执行下面的代码时,它都会给我以下错误:

ImportError: cannot import name 'Serial' from 'serial' (unknown location)

代码:

  from serial import Serial

  arduinodata = Serial('com4',9600)

  print("Enter n to ON LED and f to OFF LED")

  while 1:
    input_data = raw_input()
    print ("You Entered"+input_data)
    
    if (input_data == 'n'): 
        arduinodata.write(b'1')
        print("LED ON")

    if (input_data == 'f'):
        arduinodata.write(b'0')
        print("LED OFF")

我已经安装了所有必需的 python 模块。像 pyserial、pyfirmata 等,但它不断给我这个错误。

很可能遗漏了一个

 __init__.py 

文件或模块,或模块 (Serial) 的文件子目录与文件可执行文件位于不同的层。希望有帮助:).

我遇到了同样的问题。我首先从所有 pippip3conda 中卸载了 pyserial(我在所有 3 个上都有),然后重新安装。然后它对我来说很好用。希望对您有所帮助!

我也遇到了这个问题。这是由使用 pip 每个用户安装的“pyserial”和“serial”库引起的,而 pyserial 也在系统范围内安装(可能在不同的版本中,使用 Linux 包管理器)。

解决方案

删除每用户版本解决了我的问题。

我不得不在我的 C:/python39 文件夹中将 serial.py 重命名为其他名称 (serial0.py),它解决了问题。

我在尝试在 rpi4 上安装 serrial 时遇到了同样的问题 在本教程中 http://wiki.ros.org/rosserial_arduino/Tutorials/Arduino%20IDE%20Setup 如果您通过以下方式安装:

  • 2.1.1(推荐)在 ROS 工作站上安装二进制文件

效果很好 但是如果你安装遵循:

  • 2.1.2 从源安装到 ROS 工作站

它说:导入错误:无法从 'serial' 导入名称 'Serial' 不知道为什么,用2.1.1安装的时候效果很好