Python 属性错误:';模块';对象没有属性';SMBus';

Python 属性错误:';模块';对象没有属性';SMBus';,python,linux,windows,import,i2c,Python,Linux,Windows,Import,I2c,晚上好, 我一直致力于SMBus与硬盘的通信,并能够通过一个名为readwriteeverything的程序读取值。现在,我想创建自己的程序,用python读取和写入导入smbus的寄存器。因此,我决定以这个示例为基础编写代码: from smbus import SMBus bus = SMBus(1) # 0 = /dev/i2c-0 (port I2C0), 1 = /dev/i2c-1 (port I2C1) DEVICE_ADDRESS = 0x15 #7 bit

晚上好,

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

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,安装了许多软件包,比如python3smbus,甚至尝试过构建软件包并安装它(尽管这是基于Raspberry Pi指南的,这是带有桌面的)

我在windows和linux上都试过,但遇到了同样的问题


如何使此命令正常工作?

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

pip安装smbus cffi--升级


在这里查看该软件包的详细信息

您是否尝试过通过pip安装它?是的,我已经按照以下指南进行了尝试:,仍然没有成功的运气,以下是我运行该命令时的输出:
pip install smbus cffi——升级要求已经是最新的:smbus cffi in/usr/local/lib/python2.7/dist-packages/smbus_cffi-0.5.1-py2.7-linux-x86_64.egg要求已经是最新的:cffi>=1.1.0 in/usr/local/lib/python2.7/dist-packages/cffi-1.6.0-py2.7-linux-x86_64.egg(来自smbus cffi)需求已经是最新的:pycparser位于/usr/local/lib/python2.7/dist-packages/pycparser-2.14-py2.7.egg(来自cffi>=1.1.0->smbus cffi)清理…
看起来一切都是最新的。您熟悉virtualenv安装吗?使用“virtualenv mytest”创建虚拟环境。然后运行“source./mytest/bin/activate”。此时,您处于一个干净的虚拟环境中,可以重新运行pip命令。祝你好运,这可能会解决阻止你的主python命令的任何问题。很抱歉,响应延迟,这似乎没有奏效。我在pypy中进行了尝试,并且在虚拟环境中构建之后直接通过终端进行了尝试。我正在运行一个新的Ubuntu 14.04.3安装程序,如果它在这一点上很重要的话。