How to Upgrade to a Newer Version of Python#
To prepeare to upgrade to a newer version of Python, first make sure your Pi is up to date, as well as install the various development packages:
sudo apt update sudo apt upgrade sudo apt-get install -y build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev
Then, to install a specific version of Python, e.g., 3.8.5, download, configure, make and install the package:
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz tar zxf Python-3.8.5.tgz cd Python-3.8.5 ./configure --enable-optimizations make -j4 sudo make installor alternatively:
sudo make altinstallif you don't want the newly-installed version to be the default version on your Pi. The latter is an absolute requirement on Ubuntu (for example), as if you replace the default version of Python you will disable/break your OS (e.g., see How to Install Python 3.8 on Ubuntu). On a Raspberry Pi this isn't so far as I have seen a problem.
In the above directions, replace "3.8.5" above with whatever version you want to install. You can browse the directory of available downloads at: https://www.python.org/ftp/python
You must be patient. On a Pi 4, this can take a long time; on a 3 B+ a very long time. On a Pi Zero basically overnight.
If you're logging into your Pi remotely to do the upgrade, it's interesting to run a second ssh session with top or htop running, to watch your Pi's processors working very hard.