Muhammed Zenhar
Muhammed Zenhar

Reputation: 233

how to update python in raspberry pi

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

Upvotes: 23

Views: 85620

Answers (5)

Rabarberski
Rabarberski

Reputation: 24942

You can painlessly create virtual environments of any recent Python version (3.9 up to 3.13 worked fine for me) using the uv tool.

First make sure to install uv, e.g. via

curl -LsSf https://astral.sh/uv/install.sh | sh
# avoid need to exit/restart shell
source $HOME/.local/bin/env   

Then create the virtual environment

uv venv mycustomvenv --python 3.13

Finally, activate via e.g. (uv also supports other ways)

. mycustomvenv/bin/activate
python -V                      # gives Python 3.13.X

Upvotes: 0

javiotic-codes
javiotic-codes

Reputation: 467

To anyone looking at this answer in 2024, you can upgrade to bullseye and install Python 3.9 directly from apt

  1. Backup Your Sources List:
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
$ sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
  1. Edit the Sources List: Open the sources list file in a text editor:
$ sudo nano /etc/apt/sources.list

Replace all instances of stretch with bullseye. Your file might look something like this after the change:

deb http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
  1. Update, and install Python 3.9
$ sudo apt update
$ sudo apt install -y python3.9

Upvotes: 3

Chopin-san
Chopin-san

Reputation: 53

To all of you who got a problem with your RPi 3 freezing during this step:

sudo make -j 4

just change it to:

sudo make -j 2

or simply:

sudo make 

Best regards

Upvotes: 5

XER0ZZ
XER0ZZ

Reputation: 756

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.

Upvotes: 62

Chandra Sekhar
Chandra Sekhar

Reputation: 16516

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

Upvotes: 2

Related Questions