我正在尝试使用运行Debian的Raspberry Pi上的Python 2.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,重写代码,重新检查串行端口,等等
提前谢谢!
我在为那些和我犯同样错误的人添加这个解决方案。
在大多数情况下:重命名项目文件“serial.py”并删除serial.pyc(如果存在),则可以执行简单的“导入serial”,而不出现属性错误。
当python文件名为“something.py”时,导入“something”时会出现问题。
我意外地安装了'serial'(
sudo python -m pip install serial
)而不是'pySerial'(sudo python -m pip install pyserial
),这导致了相同的错误。如果前面提到的解决方案不适用于您,请仔细检查是否安装了正确的库。
您正在导入模块,而不是类。所以,你必须写:
您需要正确安装
serial
模块:pip install pyserial
。相关问题 更多 >
编程相关推荐