How to Install RPi.GPIO Python Library

From Geekworm Wiki
Jump to navigation Jump to search


The RPi.GPIO Python library allows you to easily configure and read-write the input/output pins on the Pi’s GPIO header within a Python script. Thankfully this library is now including in the standard Raspbian image available from the Foundations Download Page.

If you are using a fresh image you don’t need to install it but I’ve kept the instructions here in case you ever want to try a manually installation. [1]

Method 1 – Install from repository

If the package exists in the Raspbian repository is can be installed using apt-get. First you need to update the available package versions:

sudo apt-get update

Then attempt to install the RPi.GPIO package :

sudo apt-get install rpi.gpio

If it isn’t already installed it will be installed. If it is already installed it will be upgraded if a newer version is available.

Method 2 – Manual Installation

The package is available from http://pypi.python.org/pypi/RPi.GPIO and the current version is 0.7.1 (Feb 6, 2022). If this version is updated you will need to make appropriate changes to the version number in the commands below.

Step 1 – Download the library
wget https://files.pythonhosted.org/packages/c4/0f/10b524a12b3445af1c607c27b2f5ed122ef55756e29942900e5c950735f2/RPi.GPIO-0.7.1.tar.gz

Step 2 – Extract the archive to a new folder

tar -xvf RPi.GPIO-0.7.1.tar.gz
Step 3 – Browse to the new directory
cd RPi.GPIO-0.7.1
Step 4 – Install the library
sudo python setup.py install
Step 5 – Remove the directory and archive file
cd ~
sudo rm -rf RPi.GPIO-0.*

This will now mean you can use the library within Python.

Example Usage

 1 import RPi.GPIO as GPIO
 2  
 3 # to use Raspberry Pi board pin numbers
 4 GPIO.setmode(GPIO.BOARD)
 5  
 6 # set up the GPIO channels - one input and one output
 7 GPIO.setup(11, GPIO.IN)
 8 GPIO.setup(12, GPIO.OUT)
 9  
10 # input from pin 11
11 input_value = GPIO.input(11)
12  
13 # output to pin 12
14 GPIO.output(12, GPIO.HIGH)
15  
16 # the same script as above but using BCM GPIO 00..nn numbers
17 GPIO.setmode(GPIO.BCM)
18 GPIO.setup(17, GPIO.IN)
19 GPIO.setup(18, GPIO.OUT)
20 input_value = GPIO.input(17)
21 GPIO.output(18, GPIO.HIGH)
22 

References


Add your comment
Geekworm Wiki welcomes all comments. If you do not want to be anonymous, register or log in. It is free.