Raspberry Pi OS includes Python 3. Here is how to compile the latest Python on the Raspberry Pi.
If you need to use
apt installed Python modules that access hardware like GPIO, you can always access system Python 3 via
In general, one of the few times you should ever use
sudo on a Linux computer is
Get prereqs on your ARM device:
apt install libffi-dev libbz2-dev liblzma-dev libsqlite3-dev libncurses5-dev libgdbm-dev zlib1g-dev libreadline-dev libssl-dev tk-dev build-essential libncursesw5-dev libc6-dev openssl git
Extract the latest Python source code
Configure (3 minutes on Raspberry Pi 2):
./configure --prefix=$HOME/.local --enable-optimizations
Build and install–this step takes 10-40 minutes, depending on Raspberry Pi model.
Do not use
make -j -l 4
Note: don’t omit
-l 4 or Pi will be quickly overwhelmed and error build.
This limits load average to 4. Without it, load average will soar to 100+ (bad).
Add to ~/.profile:
then open a new Terminal.
which python3 and
which pip3 etc. refer to
~/.local/bin/ instead of
Don’t uninstall system Python 3
/usr/bin/python3 because system packages depend on it.
The PATH you set in Step 5 above makes Linux prefer the new Python.