How do I install Python 3 on an AWS EC2 instance?
Solution 1:
If you do a
sudo 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:
sudo yum install python34 python34-pip
Solution 2:
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.
sudo 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.
virtualenv --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.
python3 -m venv my_venv
Other things it can install (versions as of 18 Jan 18):
[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 ]