If you’ve just setup your shiny new Raspberry Pi 2 and tried to run a Python script that accesses GPIO you might be sad to see an error like this:
Traceback (most recent call last): File "<stdin>", line 1, in <module> RuntimeError: This module can only be run on a Raspberry Pi!
Don’t worry! The version of the RPi.GPIO Python library shipped with the latest Raspbian OS doesn’t support the Pi 2 out of the box, but you can install a later version to fix the problem.
First check what version of the RPi.GPIO library is currently available from Python’s package index here. Version 0.5.9 and below unfortunately are not compatible with the Pi 2, however version 0.5.10 and above should work.
If you see version 0.5.10 or greater on the site then you can install it with a few simple commands. First connect to your Pi 2 in an SSH / terminal session (check out this guide if you’re new to Linux & the Pi 2, or try the awesome new Pi Finder to get a terminal open easily). Once connected to your Pi 2 run these commands to update RPi.GPIO to the latest version:
sudo apt-get update sudo apt-get install python-pip sudo pip install -U RPi.GPIO
Answer yes to any questions that come up about downloading and installing software. After everything finishes you should be all set and ready to use the RPi.GPIO library on the Pi 2. Remember this method will only work once the RPi.GPIO library on the Python package index is updated to version 0.5.10 or greater!
As of the time of this writing the 0.5.10 version hasn’t been put up on the Python package index yet, so as a workaround you can manually download the RPi.GPIO library from its home on Sourceforge and install it with a few simple commands. Don’t worry this only takes a few more commands than installing from the Python package index. Connect to your Pi 2 in a terminal session as mentioned above, but this time execute these commands:
sudo apt-get update sudo apt-get install build-essential python-dev python-pip mercurial cd ~ hg clone http://hg.code.sf.net/p/raspberry-gpio-python/code raspberry-gpio-python-code cd raspberry-gpio-python-code sudo python setup.py install
Answer yes to any questions about installing packages. After running the last command above you should see some text scroll by as the library is compiled and installed. If it successfully installs you should see a message like “Writing /usr/local/lib/python2.7/dist-packages/RPi.GPIO-0.5.10a.egg-info” as the last output. At this point you’re all set to use the RPi.GPIO library on your Pi 2! If you see an error message carefully check all the commands above were successfully executed and try again.
I gave the latest 0.5.10a version of the RPi.GPIO library a quick test and it seems to work great for accessing GPIO on the Pi 2. Since the Pi 2 is brand new you might run into issues or problems with libraries like RPi.GPIO. The best place to go for help are the Raspberry Pi forums–good luck and enjoy your Pi 2!