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 ]
How can I get Python 3.10+ on an EC2 instance
Amazon Linux 2 Python incompatibility woes
Problem Building Python 3.7.0 in Amazon Linux 2
Python 3.8 in EC2
Videos
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.
» pip install pandas