2016-04-22 19 views
1

こんばんは、はAttributeError:「モジュール」オブジェクトが属性「SMBusの」

を持っていない私は自分のハードドライブに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ガイドに基づいていましたが、デスクトップにあります)

私はWindowsとLinuxの両方で試してみましたが、同じ問題が発生しました。

このコマンドを正しく動作させるにはどうすればよいですか?

+0

は、あなたがピップを通してそれをインストールしようとしたことがありますか? – Natecat

+0

はい、私はこのガイドに従って試してみました:https://pypi.python.org/pypi/smbus-cffi、まだ運がありません –

答えて

0

SMBusモジュールをインストールする必要があります。試してみてください:

pip install smbus-cffi --upgrade

は、パッケージの詳細はこちらをご覧くださいsmbus-cffi 0.5.1 details

+0

それはうまくいかず、ここでそのコマンドを実行すると出力が出ます: 'pip install smbus-cffi --upgrade 要件は既に​​最新です:/usr/local/lib/python2.7/dist-packages/smbus_cffi-0.5.1-py2.7-linux-x86_64.eggのsmbus-cffi 要件はすでに最新です:/usr/local/lib/python2.7/dist-packages/cffi-1.6.0-py2.7-linux-x86_64.eggのcffi> = 1.1.0(smbus-cffiから) ) 要件は既に​​最新です:pycparser in /usr/local/lib/python2.7/dist-packages/pycparser-2.14-py2.7.egg(cffi> = 1.1.0-> smbus-cffiから) クリーンアップ... 'それはすべてが最新であると思われる。 –

+0

あなたはvirtualenvのインストールに精通していますか? 'virtualenv mytest'を使用して仮想環境を作成します。次に、 'source ./mytest/bin/activate'を実行します。その時点で、クリーンな仮想環境にあり、pipコマンドを再実行できます。あなたのメインのpythonコマンドをブロックしているものはすべて指し示すことができます。 – zedman9991

+0

応答が遅れて申し訳ありませんが、これはトリックを行うように見えませんでした。私はそれを仮想環境でビルドした後、端末を介して直接pypyで試しました。私はUbuntu 14.04.3を新しくインストールしています。 –

関連する問題