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 OverflowIf 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
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 ]
Python 3.10+ on EC2 running Amazon Linux 2, and the openssl upgrade requirement.
How can I get Python 3.10+ on an EC2 instance
Amazon Linux 2 Python incompatibility woes
Updating Python 2 to Python 3 on Amazon Linux instance. Getting `No package available / Error: Nothing to do.`
Use amazon-linux-extras https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html#extras-library
More on reddit.com