19

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

Muhammed Zenhar
  • 193
  • 1
  • 1
  • 4

3 Answers3

56

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.

XER0ZZ
  • 696
  • 6
  • 5
  • 6
    I 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
    Linux is painful. – Richard Moore Aug 25 '22 at 19:43
  • 1
    Ah, 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
4

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

Chopin-san
  • 43
  • 4
  • 3
    If 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
1

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

Chandra Sekhar
  • 16,256
  • 10
  • 67
  • 90