我正在尝试使用运行Debian的Raspberry Pi上的Python2.6访问串口。我的脚本serial.py
尝试导入pySerial:
import serial
ser = serial.Serial('/dev/ttyAMA0', 9600)
ser.write("hello world!")
由于某种原因,它拒绝建立串行连接,并出现以下错误:
AttributeError: 'module' object has no attribute 'Serial'
当我尝试在交互式Python解释器中输入相同的代码时,它仍然不起作用。
奇怪的是,它在几个小时前就能用了。
可能的问题是什么?我尝试修复这个问题已经有一段时间了,重新安装pySerial,重写代码,仔细检查串口,等等。
提前感谢!
发布于 2012-07-10 06:21:47
您导入的是模块,而不是类。所以,你必须这样写:
from serial import Serial
您需要正确地安装serial
模块:pip install pyserial
。
发布于 2012-08-09 05:19:11
我为和我犯同样错误的人添加了这个解决方案。
在大多数情况下:将项目文件重命名为'serial.py‘并删除序列。如果存在,则可以执行简单的’导入序列‘操作,而不会出现属性错误。
当您的python文件名为‘omething.py’时,当您导入'something‘时出现问题。
发布于 2017-10-30 21:27:01
我不小心安装了'serial‘(sudo python -m pip install serial
)而不是'pySerial’(sudo python -m pip install pyserial
),这导致了同样的错误。
如果前面提到的解决方案对您无效,请仔细检查是否安装了正确的库。
https://stackoverflow.com/questions/11403932
复制相似问题