If you do a

Copysudo yum list | grep python3

you will see that while they don't have a "python3" package, they do have a "python34" package, or a more recent release, such as "python36". Installing it is as easy as:

Copysudo yum install python34 python34-pip
Answer from TaborKelly on Stack Overflow
🌐
GitHub
gist.github.com › niranjv › f80fc1f488afc49845e2ff3d5df7f83b
Install Python 3.6 in Amazon Linux · GitHub
For Python3.6.8 this script didn't work. After all the work it says pip configured with SSL but ssl library is missing. The procedure I manage to successfully obtain was: amazon-linux-extra install python3 sudo yum -y groupinstall development sudo yum -y install zlib-devel sudo yum -y install openssl-devel bzip2-devel curl -O https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz tar xzvf Python-3.6.8.tgz cd Python-3.6.8 ./configure make altinstall yum remove python3
Top answer
1 of 14
321

If you do a

Copysudo yum list | grep python3

you will see that while they don't have a "python3" package, they do have a "python34" package, or a more recent release, such as "python36". Installing it is as easy as:

Copysudo yum install python34 python34-pip
2 of 14
86

Note: This may be obsolete for current versions of Amazon Linux 2 since late 2018 (see comments), you can now directly install it via yum install python3.

In Amazon Linux 2, there isn't a python3[4-6] in the default yum repos, instead there's the Amazon Extras Library.

Copysudo amazon-linux-extras install python3

If you want to set up isolated virtual environments with it; using yum install'd virtualenv tools don't seem to reliably work.

Copyvirtualenv --python=python3 my_venv

Calling the venv module/tool is less finicky, and you could double check it's what you want/expect with python3 --version beforehand.

Copypython3 -m venv my_venv

Other things it can install (versions as of 18 Jan 18):

Copy[ec2-user@x ~]$ amazon-linux-extras list
  0  ansible2   disabled  [ =2.4.2 ]
  1  emacs   disabled  [ =25.3 ]
  2  memcached1.5   disabled  [ =1.5.1 ]
  3  nginx1.12   disabled  [ =1.12.2 ]
  4  postgresql9.6   disabled  [ =9.6.6 ]
  5  python3=latest  enabled  [ =3.6.2 ]
  6  redis4.0   disabled  [ =4.0.5 ]
  7  R3.4   disabled  [ =3.4.3 ]
  8  rust1   disabled  [ =1.22.1 ]
  9  vim   disabled  [ =8.0 ]
 10  golang1.9   disabled  [ =1.9.2 ]
 11  ruby2.4   disabled  [ =2.4.2 ]
 12  nano   disabled  [ =2.9.1 ]
 13  php7.2   disabled  [ =7.2.0 ]
 14  lamp-mariadb10.2-php7.2   disabled  [ =10.2.10_7.2.0 ]
🌐
Server Fault
serverfault.com › questions › 1099013 › how-to-set-python3-command-to-work-in-aws-linux-2
python - How to set python3 command to work in aws linux 2? - Server Fault
sudo yum install -y amazon-linux-extras amazon-linux-extras | grep -i python sudo amazon-linux-extras enable python3.8 sudo yum install python3.8
Top answer
1 of 5
54

Amazon has it's own Linux with extras, the command is:

    sudo amazon-linux-extras install python3.8

taken from https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-linux.html but after installing 3.7 from there, there is the above update command appearing during the install telling how to upgrade. Ahh the convolution of hosted virtual machines, still easier than trying to get a console command line login on any other Linux on AWS.

It does rebuild the python to 3.8, cleaning up files from 3.7, so boom a clean build of 3.8 thanks to Amazon.

All that being said, the default "python" will still be 2.7 as there is no backward compatibility, and many think getting rid of 2.7 will cause problems.

So what NOT TO DO NEXT as we are done is:

    sudo rm /usr/bin/python  (which is only a link to /usr/bin/python2.7)
    sudo ln -s /usr/bin/python3.8 /usr/bin/python

but usually peeps simply type python3.8 to specifically run the new version.

2 of 5
6

These answers are now out of date as of Amazon Linux 2023. Amazon Linux 2023 FAQ

Q: Does AL2023 have Amazon-Linux-Extras like AL2?

A: No, AL2023 does not have extras. For higher-level software packages like language runtimes, we will use the quarterly release where we will add major/minor updates to packages as separate namespaced packages in addition to the default package provided in the repository. For example, default Python version in Amazon Linux 2023 may be 3.8, but we will add Python 3.9 (python39) as a separate namespaced package whenever it is made available. These additional packages will closely follow their upstream release cadence and support model and their support policies can be accessed by the package manager for compliance and security use cases. Default packages will continue to be supported throughout the life of AL2023.

Python is installed by default as python3 exact version is managed by Amazon. It is possible to pick a different version, but I have not found the instructions, since the currently install 3.9 works for my needs.

python3 --version
Python 3.9.16

python3x --version
always generated
-bash: python3x: command not found
regardless of choice of x

🌐
Reddit
reddit.com › r/aws › python 3.8 in ec2
r/aws on Reddit: Python 3.8 in EC2
October 15, 2023 -

Hello,

I need Python 3.8 in an EC2.

I created an EC2 with Amazon linux 2023 but I comes with Python 3.9.

I have tried to remove Python 3.9 but it is not possible. I received this error message:

Error:

Problem: The operation would result in removing the following protected packages: dnf

(try to add '--skip-broken' to skip uninstallable packages)

Do you know a way to install Python 3.8 in an EC2?

Thanks.

Find elsewhere
🌐
TecAdmin
tecadmin.net › install-python-3-8-amazon-linux
How to Install Python 3.8 on Amazon Linux – TecAdmin
April 26, 2025 - “amazon-linux-extras install python3.8” will install Python/Pip 3.8.
🌐
GitHub
gist.github.com › Sunlighter › 87bbd2cd80971c7c0d4763ec1b5ea548
Installing Python 3.7 in Amazon Linux 2 - Gist - GitHub
This is a way to build Python 3.7 from source and temporarily install it in Amazon Linux 2 without overwriting the system Python and without interfering with the Python in amazon-linux-extras.
🌐
AWS
docs.aws.amazon.com › amazon linux › user guide › getting started with programming runtimes on al2023 › python in al2023
Python in AL2023 - Amazon Linux 2023
May 22, 2026 - AL2023 removed Python 2.7 and any components requiring Python are now written to work with Python 3.
🌐
ComputingForGeeks
computingforgeeks.com › home › dev › how to install python 3.9 on amazon linux 2
How To Install Python 3.9 on Amazon Linux 2 | ComputingForGeeks
August 9, 2023 - $ make --version GNU Make 3.82 Built for x86_64-koji-linux-gnu Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. ... $ /usr/local/bin/python3.9 -m pip install --upgrade pip Defaulting to user installation because normal site-packages is not writeable Requirement already satisfied: pip in /usr/local/lib/python3.9/site-packages (21.2.4) Collecting pip Downloading pip-21.3.1-py3-none-any.whl (1.7 MB) |████████████████████████████████| 1.7 MB 11.1 MB/s Installing collected packages: pip Successfully installed pip-21.3.1
🌐
CloudSpinx
cloudspinx.com › home › how to › how to install python 3.13 on amazon linux 2
How To Install Python 3.13 on Amazon Linux 2 - CloudSpinx
June 4, 2025 - Once complete, install Python 3.13 on Amazon Linux 2 using the command: ... ... /usr/bin/install -c -m 755 Modules/xxlimited_35.cpython-313-x86_64-linux-gnu.so /usr/local/lib/python3.13/lib-dynload/xxlimited_35.cpython-313-x86_64-linux-gnu.so /usr/bin/install -c -m 644 ./Misc/python.man \ /usr/local/share/man/man1/python3.13.1 if test "xupgrade" != "xno" ; then \ case upgrade in \ upgrade) ensurepip="--altinstall --upgrade" ;; \ install|*) ensurepip="--altinstall" ;; \ esac; \ LD_LIBRARY_PATH=/home/cloudspinx/Python-3.13.1 ./python -E -m ensurepip \ $ensurepip --root=/ ; \ fi Looking in links: /tmp/tmp9mspiiat Processing /tmp/tmp9mspiiat/pip-24.3.1-py3-none-any.whl Installing collected packages: pip WARNING: The script pip3.13 is installed in '/usr/local/bin' which is not on PATH.
Top answer
1 of 2
3
Guess you are concerned that Python 3.7 EOL June this year If you want to avoid compiling and is fine with older version, python 3.8 is available from amazon-linux-extras You will need to remove python 3.7 first. Possible commands as below ``` # python3 --version Python 3.7.16 # sudo yum remove python3 # amazon-linux-extras | grep python 36 python3.8 available [ =stable ] # sudo amazon-linux-extras install python3.8 # rpm -ql python38 /usr/bin/pydoc3.8 /usr/bin/python3.8 /usr/share/doc/python38-3.8.16 /usr/share/doc/python38-3.8.16/README.rst /usr/share/man/man1/python3.8.1.gz # python3.8 --version Python 3.8.16 # sudo ln -s /usr/bin/python3.8 /usr/bin/python3 # sudo ln -s /usr/bin/pydoc3.8 /usr/bin/pydoc # python3 --version Python 3.8.16 ```
2 of 2
0
Hello, The latest stable version of Python available for Amazon Linux 2 AMI is 3.8 and you may install it using the amazon-linux-extras library. [+] Extras library (Amazon Linux 2) - https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html#extras-library Regarding OpenSSL, Amazon Linux 2 comes with OpenSSL 1.0.2 by default. [+] https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html Any security concerns and CVE’s regarding OpenSSL could be found in the document below : https://alas.aws.amazon.com/alas2.html In order to apply the security updates for OpenSSL, you may run the “yum update openssl” command on the instance. Additionally, you may keep an eye on the documents below for information about the upcoming features and announcements to services in order to check for the availability of the latest versions of the above packages in Amazon Linux 2 : - What’s New - https://aws.amazon.com/new/ - AWS Blog - https://aws.amazon.com/blogs/aws/ Further, you may manually install the required Python version (Python 3.10) from the official Python download page and configure it on your instance. Please find below a third-party article that I hope would be helpful to you : https://techviewleo.com/how-to-install-python-on-amazon-linux-2/
🌐
Reddit
reddit.com › r/aws › amazon linux 2 python incompatibility woes
r/aws on Reddit: Amazon Linux 2 Python incompatibility woes
September 14, 2023 -

A customer wants to continue to use Amazon Linux 2, I'm wanting to package some Python software for them, to be delivered via RPM.

Some dependencies are available in EPEL, and I used the Amazon instructions to install and enable that repo.

Using amazon-linux-extras installs Python 3.7, but nearly everything we need is in EPEL which is set for Python 3.6. So we insist on installing Python 3.6 from EPEL instead.

This makes we wonder how anyone is getting any work done with the Amazon Linux 2 image? Or am I doing something wrong? Is everyone just installing everything from source or using pip? The RPM packaging system appears in conflict with itself out of the box.

🌐
AWS
docs.aws.amazon.com › amazon linux › release notes › package support status
Package support status - Amazon Linux 2023
View a markdown version of this page · This is current as of 2026-04-06T19:13:47.305441