I need python newest version in raspberry pi.
I tried apt install python3 3.8
apt install python3
but this didnot work.
And I also needed to update my raspberry pi python IDLE

- 193
- 1
- 1
- 4
-
https://www.ramoonus.nl/2020/10/06/how-to-install-python-3-9-on-raspberry-pi/ – null_override Nov 06 '20 at 16:28
-
1I would recommend using a python version manager such as pyenv. Don't try to change default python's as that can break the OS. – jordanm Nov 06 '20 at 16:29
3 Answers
First update the Raspbian.
sudo apt-get update
Then install the prerequisites that will make any further installation of Python and/or packages much smoother.
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
And then install Python, maybe by downloading a compressed file?
example 1 :
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
Extract the folder :
sudo tar zxf Python-3.8.0.tgz
Move into the folder :
cd Python-3.8.0
Initial configuration :
sudo ./configure --enable-optimizations
Run the makefile inside the folder with the mentioned parameters :
sudo make -j 4
Run again the makefile this time installing directly the package :
sudo make altinstall
Maybe You already did it but You don't know how to setup the new version as a default version of the system?
Check first that it has been installed :
python3.8 -V
Send a strong command to .bashrc telling him who (which version) is in charge of Python
echo "alias python=/usr/local/bin/python3.8" >> ~/.bashrc
Again! Tell him because .bashrc has to understand! I am joking - You have to source the file so the changes can be applied immediately :
source ~/.bashrc
And then check that Your system changed the default version of Python to Python 3.8
python -V
The failure depends on many factors : what dependencies are installed, what are the packages added to the source_list.d, some inconvenient coming up during the installation. All may give you more information than you think, just read carefully. Hope it helped.

- 696
- 6
- 5
-
6I guess this is old. But isn't there a more... normal... way to update a required program? I'm new to Pi and by extension linux but this is more like a final year project. Is there really no decent/normal way for linux to update a python version? It feels like it's overcomplicated just for fun. I guess I'm more used to there being 1-3 commands to update a library not a whole essay that I need to rewrite from memory on a different machine (pi doesn't do well with browsers)(ram) I don't know what the constraints are but this totally feel waaaaaay out of necessary bounds. But hey, this is linux. – Alexz Jun 10 '21 at 01:02
-
Thanks Xerozz, amazing answer with detailed / kind explanation, which are very valuable for newbies like myself. Cheers. – jshji Jun 29 '21 at 14:26
-
1
-
1Ah, of course. The everyone's favorite "easy, beginner friendly" programming language. Just compile it from source to update, no big deal... Is this truly the simplest solution? – zeel May 18 '23 at 03:21
To all of you who got problem with freezing RPi 3 in step:
sudo make -j 4
just change it to:
sudo make -j 2
or simply:
sudo make
Best regards

- 43
- 4
-
3If you want to suggest an answer like this, please also give your reasoning. Is this a workaround to a temporary bug? Or is it always necessary to do this? What does the -j flag do? – Alex Spurling Jan 10 '22 at 20:44
-
@AlexSpurling It specifies the number of CPU threads to use. This thread will explain: https://stackoverflow.com/questions/15289250/using-make-with-j4-or-j8/15295032#15295032 – Kyle Carow Jan 14 '22 at 20:33
Follow below commands to install the version which you want:
tar xf Python-3.x.x.tar.xz
cd Python-3.x.x
./configure --enable-optimizations
make
sudo make install
once completed run python -V

- 16,256
- 10
- 67
- 90