How to install Python 3.8 on Raspberry Pi (Raspbian)

Install Python 3.8 on Raspberry Pi

In this tutorial, I will show you how to install Python 3.8.0 on Raspberry Pi running raspbian on it.

1. Update the Raspbian

Update the Raspbian before installing python.

sudo apt-get update

Read Also: How to install python 3.7 on Ubuntu 16.04 / 18.04

2. Prerequisites

Before installing Python 3.8 there are some dependencies that we need to install. Use the following command to install the required dependencies.

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 tar wget vim

3. Download Python

You can download Python from the official website or use the following command.


Read Also: How to install postgresql 11 on Debian 8 / 9

4. Install Python 3.8

Now we will extract and install Python from the source.
sudo tar zxf Python-3.8.0.tgz
cd Python-3.8.0
sudo ./configure --enable-optimizations
sudo make -j 4
sudo make altinstall

5. Check Python version

Now Python is installed you can check the version using the following command.

python3.8 -V

6. Make Python 3.8 as the default version

If you want to use python 3.8 as a default version you can create an alias.

vim ~/.bashrc

and then add the following alias.

echo "/usr/local/bin/python3.8" >> .bashrc

echo "alias python='/usr/local/bin/python3.8'" >> .bashrc

Then source the .bashrc file.

source ~/.bashrc

7. Check Python Version

After creating an alias check the python version again.

python -V
Python 3.8.0

Now you have successfully installed Python 3.8 on Raspberry Pi.


16 Comments Posted

  1. The “sudo make -j 4” step failed with …
    Segmentation fault
    Makefile:614: recipe for target ‘sharedmods’ failed
    make[3]: *** [sharedmods] Error 139
    make[3]: Leaving directory ‘/home/pi/Python-3.8.0’
    Makefile:507: recipe for target ‘build_all_generate_profile’ failed
    make[2]: *** [build_all_generate_profile] Error 2
    make[2]: Leaving directory ‘/home/pi/Python-3.8.0’
    Makefile:481: recipe for target ‘profile-gen-stamp’ failed
    make[1]: *** [profile-gen-stamp] Error 2
    make[1]: Leaving directory ‘/home/pi/Python-3.8.0’
    Makefile:492: recipe for target ‘profile-run-stamp’ failed
    make: *** [profile-run-stamp] Error 2

    any idea what caused this?


  2. I cannot for the life of me get the bashrc to not have a syntax error of unexpected end of file on the last line where i add the alias on my Raspberry Pi4. I don’t know if it is something I’m doing wrong in VIM or something else but I’m down to that point with the installation and I’m stuck. Everything has worked fine up to this point. Thanks

  3. Hey, thanks for the instruction. It worked well so far, but does anybody have an idea, why now, when I open a new LXTerminal, it starts automatically in “python mode”. I have to type in quit() everytime to get the “standard mode”. Would be great if someone can help me to fix this.
    Thanks in advance!

  4. So I followed the prompts, but ran into an issue at Step 6. Now when I launch the Terminal window, I go directly into Python 3.8.1 … instead of the classic LXTerminal (i.e. used to show pi@raspberrypi:~ $” Linux prompt. Now boots up Python 3.8 and a “>>>” prompt)

    Can you help me to direct the terminal prompt back to LXTerminal? I use Linux commands quite a bit. Thanks

  5. When I ran it as is bashrc filled up with crap because of the echo. Once I removed the echo’s “alias python=python3.8” was added instead and that solved all my problems.

    Thank you for this post!

  6. Just for you to know: sudo make altinstall is the only command needing sudo. Thanks for making me discover –enable-optimizations.

Leave a Reply

Your email address will not be published.


Secured By miniOrange