Python is a powerful programming language. It is very friendly and easy to learn. During the latest update of this article Python 3.8.12 (of Python 3.8 series) latest stable version is available to download and install. This tutorial will help you to install Python 3.8 on Amazon Linux systems.
Step 1 – Prerequaities
This Python installation required the GCC compiler on your system. Login to your server using ssh or shell access. Now, use the following command to install prerequisites for Python before installing it.
sudo yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel
Step 2 – Download Python 3.8
Download the Python from the Python official website. You can also download the latest version in place of the specified below.
cd /opt sudo wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz
Now extract the downloaded package.
sudo tar xzf Python-3.8.12.tgz
Step 3 – Install Python 3.8
Use the below set of commands to compile Python 3.8 from the source code and install using the altinstall command.
cd Python-3.8.12 sudo ./configure --enable-optimizations sudo make altinstall
make altinstall is used to prevent replacing the default python binary file /usr/bin/python.
Now remove the downloaded source archive file from your system
sudo rm -f /opt/Python-3.8.12.tgz
Step 4 – Check Python Version
The Python 3.8 binary is installed under /usr/local/bin directory. As we have not overwritten the current Python version, you need to run Python 3.8 command as following:
python3.8 -V Python 3.8.12
Why would one do all this instead of just following the AWS documentation?
“amazon-linux-extras install python3.8” will install Python/Pip 3.8. To access them just use “python3.8” or “pip3.8” at the console.
Thank you, Rahul. A helpful article.
sudo ./configure –enable-loadable-sqlite-extensions –enable-optimizations
if you are interestest at least to use jupyter
Thanks! Works great.
Fix step 2: It shows to un-tar 3.8.5 instead of 3.8.6
Installed on an AWS Linux 2 instance. If I try to run python3.8 from root prompt it does not find the command. If I exit root mode the command runs fine. Path issue?
Great help and really strange that we don’t have AMI in amazon with latest python 3.8.2. I was struggling to package my dependent libraries in lambda and your detailed steps really benefitted me.
Great writeup and site!
Your instructions are easy to follow.
ty for this great instruction.
I have two remarks:
– Shouldn’t the first command (Step 1) be execuded with sudo?
sudo yum install gcc openssl-devel bzip2-devel libffi-devel
– We downloaded the .tgz file to /opt – so shouldn’t the remove command be:
sudo rm /opt/Python-3.8.2.tgz
Thanks Mat, I have updated tutorial.