AttributeError:'module'对象没有属性'SMBus'

时间:2016-04-22 20:22:40

标签: python linux windows import i2c

晚上好,

我一直致力于SMBus与硬盘的通信,并且能够通过名为readwriteeverything的程序读取值。现在,我想创建自己的程序来读取和编写导入smbus的python中的寄存器。所以,我决定将我的代码基于这个例子:

from smbus import SMBus

bus = SMBus(1)    # 0 = /dev/i2c-0 (port I2C0), 1 = /dev/i2c-1 (port I2C1)

DEVICE_ADDRESS = 0x15      #7 bit address (will be left shifted to add the read write bit)
DEVICE_REG_MODE1 = 0x00
bus.write_data(DEVICE_ADDRESS, DEVICE_REG_MODE1)
bus.read_data(DEVICE_ADDRESS)

但是,当我尝试运行单行代码时:

from smbus import SMBus

我明白了:

ImportError: cannot import name SMBus

我已经尝试过python2,python3,安装了很多软件包,比如python3-smbus,甚至尝试构建软件包并进行安装(尽管这是基于Raspberry Pi指南,这是基于桌面的。)< / p>

我已尝试过Windows和Linux,并遇到了同样的问题。

如何让此命令正常工作?

1 个答案:

答案 0 :(得分:0)

您需要安装SMBus模块。尝试:

  

pip install smbus-cffi --upgrade

在此处查看包smbus-cffi 0.5.1 details

的详细信息