The latest version of Python is 3.11.1 and was released on December 6, 2022. Here are steps to install Python from source. This tutorial will work for Debian, Ubuntu and their derivatives, Red Hat, Fedora and most Linux operating systems.
Download Python 3.11.1 source
The latest Python source code is available here.
First, download and extract the latest Python source code.
cd /tmp/ wget https://www.python.org/ftp/python/3.11.1/Python-3.11.1.tgz tar -xzvf Python-3.11.1.tgz cd Python-3.11.1/
Install the build tools
Now, install the build tools. The build tools includes gcc, make, zlib, ssl libraries and other libraries.
On Debian or Ubuntu:
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
On Red Hat or Fedora:
sudo dnf update
sudo dnf groupinstall "Development Tools" "Development Libraries"
Configure, make and make install
./configure --enable-optimizations
Before running make
, find the number of processors your server has using nproc
.
nproc
You will see something like this:
2
Now, run make with the number of processors. This may take a while.
make -j 2
You can also run make
and use the nproc
output in one step:
make -j `nproc`
Make install
We will install Python under /usr/local/bin
instead of overwriting the default Python installation under /usr/bin
.
sudo make altinstall
This will install Python at /usr/local/bin/python3.11
. To test the version, run this:
python3.11 -V
You will get this output:
Python 3.11.1
Make Python 3.11.1 the default version
To make the default version of Python 3.11.1, run this:
sudo ln -s /usr/local/bin/python
sudo ln -s /usr/local/bin/python3.11 /usr/local/bin/python
Test whether Python 3.11.1 is the default version:
$ ls -al /usr/local/bin/python
lrwxrwxrwx 1 root root 25 December 20 11:20 /usr/local/bin/python -> /usr/local/bin/python3.11
python -V
The output will be:
Python 3.11.1
If you liked this post, please feel free to share it. If you have any problems installing Python 3.11.1 from source, you may contact me.
Related Posts
If you have any questions, please contact me at arulbOsutkNiqlzziyties@gNqmaizl.bkcom. You can also post questions in our Facebook group. Thank you.