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
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 ]
Here are the steps I used to manually install python3 for anyone else who wants to do it as it's not super straight forward. EDIT: It's almost certainly easier to use the yum package manager (see other answers).
Note, you'll probably want to do sudo yum groupinstall 'Development Tools'
before doing this otherwise pip won't install.
wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz
tar zxvf Python-3.4.2.tgz
cd Python-3.4.2
sudo yum install gcc
./configure --prefix=/opt/python3
make
sudo yum install openssl-devel
sudo make install
sudo ln -s /opt/python3/bin/python3 /usr/bin/python3
python3 (should start the interpreter if it's worked (quit() to exit)
EC2 (on the Amazon Linux AMI) currently supports python3.4 and python3.5.
sudo yum install python35
sudo yum install python35-pip
As of Amazon Linux version 2017.09 python 3.6 is now available:
sudo yum install python36 python36-virtualenv python36-pip
See the Release Notes for more info and other packages
Amazon Linux now supports python36.
python36-pip is not available. So need to follow a different route.
sudo yum install python36 python36-devel python36-libs python36-tools
# If you like to have pip3.6:
curl -O https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
As @NickT said, there's no python3[4-6] in the default yum repos in Amazon Linux 2, as of today it uses 3.7 and looking at all answers here we can say it will be changed over time.
I was looking for python3.6 on Amazon Linux 2 but amazon-linux-extras
shows a lot of options but no python at all. in fact, you can try to find the version you know in epel
repo:
sudo amazon-linux-extras install epel
yum search python | grep "^python3..x8"
python34.x86_64 : Version 3 of the Python programming language aka Python 3000
python36.x86_64 : Interpreter of the Python programming language
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With