ModuleNotFoundError: No module named 'di_i2c'

Here what I am trying to do, and what I get

from grovepi import *
Traceback (most recent call last):
File “”, line 1, in
File “”, line 259, in load_module
File “/home/pi/.local/lib/python3.9/site-packages/grovepi-1.4.1-py3.9.egg/”, line 54, in
ModuleNotFoundError: No module named ‘di_i2c’

Tried all those magic options like
curl -kL | bash
curl -kL | bash

No help at all.

It Raspbian and python 3.9.2


1 Like

Are you using Raspbian legacy or Raspbian Bullseye?

Don’t use Raspbian Bullseye.

Did you enable these interfaces in raspi-config? They’re not enabled by default.

There is no Grove support for installing with Python3.9 - so it appears you attempted to install on the latest Raspbian, now called Raspberry Pi OS, bullseye release.

You must restart by flashing the Legacy PiOS on your SD Card, and then those two “magic options” will install the grove software.

  1. Install Legacy PiOS (Current image at this time is January 2022)
  • Use Raspberry Pi Imager v1.6.2 or later
    (Current version is 1.7.1)
    • Choose OS → Raspberry Pi OS (other) → (Scroll Down Till->) Raspberry Pi OS (Legacy)
  • Set it up to connect to your network
  • Make sure it is fully working
    • setup with remote shell or VNC to the desktop


  1. Follow the GrovePi Setup instructions carefully. Don’t forget to reboot afterwards.

BTW, for anyone following this thread - The latest Legacy PiOS installs Python 2.7.16 and Python 3.7.3

1 Like

How do I know which one?

1 Like
  • Choose OS → Raspberry Pi OS (other) → (Scroll down till see) Raspberry Pi OS (Legacy)