¿Cómo instalo Python 3 en una instancia de AWS EC2?

Estoy intentando instalar python 3.x en una instancia de AWS EC2 y:

sudo yum install python3 

no funciona:

 No package python3 available. 

He buscado en Google y no puedo encontrar a nadie más que tenga este problema, así que pregunto aquí. ¿Tengo que descargarlo manualmente e instalarlo?

Si haces un

 sudo yum list | grep python3 

verá que, si bien no tienen un paquete “python3”, sí tienen un paquete “python34”, o una versión más reciente, como “python36”. Instalarlo es tan fácil como:

 sudo yum install python34 

Nota: Esto puede ser obsoleto para las versiones actuales de Amazon Linux 2 desde finales de 2018 (ver comentarios), ahora puede instalarlo directamente a través de yum install python3 .

En Amazon Linux 2 , no hay un python3[4-6] en los python3[4-6] yum predeterminados, en cambio, está la Biblioteca de Extras de Amazon .

 sudo amazon-linux-extras install python3 

Si desea configurar entornos virtuales aislados con él; el uso de yum install ‘d virtualenv tools no parece funcionar de manera confiable.

 virtualenv --python=python3 my_venv 

Llamar al módulo / herramienta de venv es menos complicado, y podría verificar dos python3 --version lo que quiere / espera con python3 --version antemano.

 python3 -m venv my_venv 

Otras cosas que puede instalar (versiones a partir del 18 de enero de 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 ] 

Estos son los pasos que seguí para instalar manualmente python3 para cualquier persona que quiera hacerlo, ya que no es muy sencillo. EDITAR: es casi seguro que es más fácil usar el gestor de paquetes yum (ver otras respuestas).

Tenga en cuenta que es probable que desee hacer sudo yum groupinstall 'Development Tools' antes de hacer esto, de lo contrario, pip no se instalará.

 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 (en la AMI de Amazon Linux) actualmente admite python3.4 y python3.5.

 sudo yum install python35 sudo yum install python35-pip 

A partir de Amazon Linux versión 2017.09 python 3.6 ya está disponible:

 sudo yum install python36 python36-virtualenv python36-pip 

Consulte las Notas de la versión para obtener más información y otros paquetes.

Amazon Linux ahora soporta python36.

python36-pip no está disponible. Así que hay que seguir una ruta diferente.

 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 

Como dijo @NickT, no hay python3 [4-6] en los repositorys de yum predeterminados en Amazon Linux 2 , a partir de hoy usa 3.7 y al ver todas las respuestas aquí podemos decir que cambiará con el tiempo.

Estaba buscando python3.6 en Amazon Linux 2, pero amazon-linux-extras muestra muchas opciones pero ninguna python en absoluto. de hecho, puedes intentar encontrar la versión que conoces en 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