Python AttributeError:'module'对象没有属性'Serial'

hao*_*ike 112 python serial-port raspberry-pi

我正在尝试使用运行Debian的Raspberry Pi上的Python 2.6访问串口.我的脚本命名serial.py尝试导入pySerial:

import serial
ser = serial.Serial('/dev/ttyAMA0', 9600)
ser.write("hello world!")
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它拒绝与此错误建立串行连接:

AttributeError: 'module' object has no attribute 'Serial'
Run Code Online (Sandbox Code Playgroud)

当我尝试在交互式Python解释器中键入相同的代码时,它仍然无法正常工作.

奇怪的是,它曾经在几个小时前工作.

可能是什么问题呢?我试图修复一段时间,再次安装pySerial,重写我的代码,仔细检查串口等.

提前致谢!

小智 170

我正在为那些犯同样错误的人添加这个解决方案.

在大多数情况下:重命名项目文件'serial.py'并删除serial.pyc(如果存在),然后您可以执行简单的'import serial'而不会出现属性错误.

当python文件名为'something.py'时导入'something'时会出现问题.

  • 是的..我将我的测试文件命名为"serial.py",因此导入序列导入了自己. (3认同)
  • 这个答案应该是#1,我也有同样的问题.另一个出现的错误是`AttributeError:'module'对象没有属性'SerialException` (2认同)

Kev*_*vin 117

我不小心安装了'serial'(sudo python -m pip install serial)而不是'pySerial'(sudo python -m pip install pyserial),这导致了同样的错误.

如果前面提到的解决方案不适合您,请仔细检查您是否安装了正确的库.

  • 谢谢,使用`pip uninstall serial`卸载serial修复了我的问题.然后安装了pyserial`pip install pyserial` (7认同)
  • 此外,删除“serial”(或“pip3 ...”)后,“pip install --upgrade --force-reinstall pyserial”可能会有所帮助。 (5认同)
  • 修复是卸载两个,然后重新安装pyserial. (4认同)

VGO*_*VGO 90

您正在导入模块,而不是类.所以,你必须写:

from serial import Serial
Run Code Online (Sandbox Code Playgroud)

您需要serial正确安装模块:pip install pyserial.

  • 我试过了.不行.错误将是"ImportError:无法导入名称序列" (28认同)
  • 对不起,这看起来完全错了.起初这个类是`Serial`而不是`serial`,那么你不必导入一个类来使用它.`module.class()`应该工作得非常好.最后但并非最不重要的是,对于这里发生的事情没有真正的解释. (18认同)
  • 对我来说,我运行了“pip install serial”。糟糕,错误的库,意味着安装“pyserial”。 (4认同)
  • 导入模块时,我多次遇到同样的问题.我不明白为什么它在某些情况下会起作用(例如,当您查看[*serial*website]中的一些示例时(http://pyserial.sourceforge.net/shortintro.html)) (3认同)
  • 这不能解决问题。 (2认同)

Fut*_*eJJ 21

您已安装名为" serial "错误包.

  • 运行pip uninstall serialpython 2.x或pip3 uninstall serial python 3.x.
  • 然后通过运行python 2.x或python 3.x 安装pyserial(如果尚未安装).pip install pyserialpip3 install pyserial

  • 这解决了我的问题。好的! (2认同)

小智 9

这个问题是因为您的项目名为 serial.py 并且导入的库也名为 serial ,更改名称即可。


归档时间:

查看次数:

334980 次

最近记录:

7 年,1 月 前