I'm trying to use the module 'smbus' on python3. I've downloaded it - when I try to download smbus, it says that smbus is up to date and installed. However, when I try to use it, it says the module is not found. I've found a similar problem with pip3. It's downloaded but pip is an unrecognized command. Thank you!

EDIT 1: I think this is because of a mix up of Python 2/3

EDIT 2: when I run apt-cache search smbus, I get:

pi@raspberrypi ~ $ apt-cache search smbus
python-smbus - Python bindings for Linux SMBus access through i2c-dev
pypy-smbus-cffi - This Python module allows SMBus access through the I2C /dev
python3-smbus - Python 3 bindings for Linux SMBus access through i2c-dev

EDIT 3: I downloaded smbus by:

sudo apt-get update
sudo apt-get install -y python3-smbus
  • 1
    Could you edit your question and include the output of command apt-cache search smbus? Could you also edit your question to show how you downloaded smbus and where from?
    – joan
    Commented Dec 1, 2017 at 17:45

1 Answer 1


Sounds like you are only downloading modules and not installing them. Here's how to do it.

  1. Installing pip: sudo apt-get install python-pip python3-pip

  2. Installing smbus: sudo apt-get install python-smbus python3-smbus python-dev python3-dev

  • Thank you for your reply. When I run those commands, the terminal says that both pip and smbus are up to date. Commented Dec 2, 2017 at 9:30
  • @IssacJacob Did you fix that? Having the same issue...
    – decades
    Commented Jan 23, 2018 at 11:40
  • try installing smbus2: pip install smbus2
    – ffleandro
    Commented Oct 24, 2018 at 20:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.