35

I tried apt install python 3.9 and it replied:

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python3.9
E: Couldn't find any package by glob 'python3.9'
E: Couldn't find any package by regex 'python3.9'
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Hansen Gianto
  • 351
  • 1
  • 3
  • 4
  • 2
    You can install Python 3.9 Alpha 5 from the [Deadsnakes PPA](https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa/+index). But be aware: it is an Alpha version. It can and will contain bugs and might be incompatible with many known packages. – Klaus D. Mar 24 '20 at 04:05

2 Answers2

66

If you are on Ubuntu 19.10 (Eoan Ermine) (or any other version unsupported by the deadsnakes PPA), you will not be able to install using the deadsnakes PPA.

What you can do instead, is get the source from Python's official website, and install it manually, as described here.

To do so, first, install the dependencies required to build the Python package.

sudo apt install build-essential zlib1g-dev \
libncurses5-dev libgdbm-dev libnss3-dev \
libssl-dev libreadline-dev libffi-dev curl software-properties-common

Then download the tarball and extract it:

wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz
tar -xf Python-3.9.0.tar.xz

Then cd to the extracted directory:

cd Python-3.9.0

Now configure the script:

./configure

Now, to install Python 3.9 alongside your current Python installation (if any), use:

sudo make altinstall

Lastly, you can verify your installation using

python3.9 --version

How to make python3.X default of Python 3? (Optional)

rm /usr/bin/python3
ln -s /usr/bin/python3.5 /usr/bin/python3
  • create an alias in ~/.bash_aliases, ~/.zshrc, etc.
alias python3='/usr/bin/python3.9'

or

alias python3='/usr/local/bin/python3.9'
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Akash Kumar
  • 779
  • 6
  • 10
  • How to make it a default version for python3 ? – raaj Sep 21 '22 at 07:07
  • @raaj `python3` is symbolic link to some version of python, so you can 1) `sudo unlink /usr/bin/python3` 2) `sudo ln -s /usr/bin/python3.9 /usr/bin/python3` – 555Russich Nov 30 '22 at 09:12
34

You are getting that error because you first need to update the package list and the prerequisites.

sudo apt update
sudo apt install software-properties-common

Then, add the repository ppa:deadsnakes/ppa to your sources list (where you will download Python from)

sudo add-apt-repository ppa:deadsnakes/ppa

Make sure to press Enter when prompted.

Lastly, install the version of your choice:

sudo apt install python3.9

Make sure to read this:

Disclaimer: there's no guarantee of timely updates in case of security problems or other issues. If you want to use them in a security-or-otherwise-critical environment (say, on a production server), you do so at your own risk.

PPA Deadsnake

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Will
  • 404
  • 3
  • 4
  • run `sudo apt update` before `sudo apt install python3.9`, or it still will not locate the package – dzny Sep 30 '22 at 13:01