Reputation: 491
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'
Upvotes: 49
Views: 99867
Reputation: 142
I have spent a long time searching for this but found the answer here first: https://github.com/baralraj/python-3.9-on-wsl/blob/main/README.md
1st: Update and install some required packages that are needed to build python from source.
sudo apt update
sudo apt upgrade
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
2nd: Create a temp directory, download the python source code and unzip (I usually just download it manually from that url in the browser and unzip it with the files UI)
mkdir ~/tmp
cd ~/tmp
wget https://www.python.org/ftp/python/3.9.12/Python-3.9.12.tgz
tar -xvzf Python-3.9.12.tgz
3rd: Configure and install
cd Python-3.9.12
./configure
sudo make altinstall
4th: check the installation
python3.9 --version
Output should be
Python 3.9.12
Upvotes: 0
Reputation: 480
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. Then update available the packages:
sudo apt update
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.
Upvotes: 40
Reputation: 939
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
alias python3='/usr/bin/python3.9'
or
alias python3='/usr/local/bin/python3.9'
Upvotes: 82