How to Install Python 3.12.2 on the Raspberry Pi

Published February 08, 2024

The default Python version that comes with Raspberry Pi OS (Raspbian) is 3.9.2, and is outdated. I prefer to build and use the latest Python on python.org. You can manually install the latest version of Python using these steps.

Python 3.12.2 was released on February 6, 2024. This version is the second maintenance release, with more than 350 bugfixes since 3.12.2. This article helps you install Python 3.12.2 on your Raspberry Pi.

Installing Python 3.12.2 on the Raspberry Pi

Why use Python on the Raspberry Pi?

I use Python for various purposes all my Raspberry Pi boards. I run automated scripts, web applications that help in home automation, web controllable Christmas lights and more recently AI/machine learning.

Download Python 3.12.2 source

First, setup Raspberry Pi OS on your microSD card. You can read my previous blog post on how to do it.

Run this command to download the latest Python source code.

wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz

Install the build tools

Run these to install the build tools.

sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev  libsqlite3-dev

If you want, you can install git as well.

sudo apt install git

Configure, make and make install

Run these commands. The configure command may take several minutes depending on your Raspberry Pi. On my Raspberry Pi v3, this took about 10 minutes.

tar -xzvf Python-3.12.2.tgz 
cd Python-3.12.2/
./configure --enable-optimizations
sudo make altinstall

This will install Python at /usr/local/bin/python3.12. To test the version, run this:

/usr/local/bin/python3.12 -V

You will get this output:

Python 3.12.2

Make Python 3.12 the default version

When you run python, you will still get the default 3.9.2.

/usr/bin/python3 -V
Python 3.9.2

To make the default version of Python 3.12.2, create a softlink. Run this:

sudo rm /usr/bin/python
sudo ln -s /usr/local/bin/python3.12 /usr/bin/python

If that does not work, repeat the process for python3 instead of python.

sudo rm /usr/bin/python3
sudo ln -s /usr/local/bin/python3.12 /usr/bin/python3

Test whether Python 3.12.2 is the default version:

python -VV
Python 3.12.2

Let me know whether you have any problems installing Python 3.12.2 in your Raspberry Pi.

Delete the installation directory

At this point, you can safely delete the installation directory.

cd /tmp/
rm -rf rm -rf Python-3.12.2.tgz Python-3.12.2/

How to upgrade from Python 3.12.0 to 3.12.0

The process is exactly the same, except that Python 3.12.2 will automatically become the default after you complete installation. You may not have to change the softlinks.

Related Posts

If you have any questions, please contact me at arulbOsutkNiqlzziyties@gNqmaizl.bkcom. You can also post questions in our Facebook group. Thank you.

Disclaimer: Our website is supported by our users. We sometimes earn affiliate links when you click through the affiliate links on our website.

Last Updated: February 08, 2024.     This post was originally written on August 10, 2021.