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

124

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

sudo yum install python3

no funciona

No package python3 available.

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

Jake_Howard
fuente
1
Posiblemente sí, es posible que aún no esté disponible para Amazon Linux (o aclare si está utilizando un sistema operativo diferente).
Simeon Visser
posible duplicado de Instalación de python3 en RHEL
BMW
Hola, sí, es el sistema operativo Amazon Linux 'estándar'. Feliz de instalar manualmente, pero faltan algunas cosas (y pensé que era mejor verificar antes de perder el tiempo :)
Jake_Howard
@BMW la respuesta a la que se vinculó fue útil, pero no suficiente para que funcione por sí sola.
Jake_Howard
Desde la parte de abajo IAM cambia a menudo, puede ser útil para comprobar las notas de la versión de la máquina más reciente, disponible aquí: aws.amazon.com/amazon-linux-ami/#Release_Notes
fangosa

Respuestas:

239

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 python34-pip
TaborKelly
fuente
1
Esta parece ser la respuesta más simple. ¿AWS actualizó sus paquetes cuando @Jake_Howard publicó una respuesta y usted lo hizo?
Romano
77
Para usar pip3 agregue el siguiente enlace simbólico # ln -s /usr/bin/pip-3.4 / usr / bin / pip3
Ray Vahey
10
sudo yum install python34no funciona para mi DiceNo package python34 available.
Sohan Shirodkar
2
@SohanShirodkar es posible que haya tenido mala suerte y haya recibido un nuevo lanzamiento: su lanzamiento de septiembre se mudó a python35... aquí puede ver los últimos lanzamientos: aws.amazon.com/amazon-linux-ami/#Release_Notes
fangoso
55
En 2018, sudo yum install python36también está disponible. Tampoco olvide instalar el último pip: python3 -m pip install --user --upgrade pipy luego puede hacerlo python3 -m pip install --user virtualenvpara un entorno virtual. ref: packaging.python.org/guides/installing-using-pip-and-virtualenv
Emmanuel NK
54

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]repositorio yum predeterminado, en su lugar está la Biblioteca Extras de Amazon .

sudo amazon-linux-extras install python3

Si desea configurar entornos virtuales aislados con él; El uso yum installde virtualenvherramientas 'd no parece funcionar de manera confiable.

virtualenv --python=python3 my_venv

Llamar al módulo / herramienta venv es menos complicado, y puede verificar con anterioridad si es lo que desea / espera python3 --version.

python3 -m venv my_venv

Otras cosas que puede instalar (versiones a partir del 18 de enero 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 ]
Nick T
fuente
"El tema python3 tiene fecha de fin de soporte de 22/08/2018" esto ya no es compatible
zenbeni
@zenbeni ¿el sistema por defecto Python fue lanzado a Python 3?
Nick T
@NickT python3-3.7.2-4.amzn2.0.1.x86_64 se instala realmente a través de 'yum install python3', ya no usa amazon linux extras para python
zenbeni
Estoy ligeramente confundido por qué esto sigue recibiendo votos positivos (4 en el último mes) si ahora está obsoleto.
Nick T
40

Estos son los pasos que utilicé para instalar manualmente python3 para cualquier otra persona que quiera hacerlo, ya que no es súper sencillo. EDITAR: es casi seguro que sea más fácil usar el administrador de paquetes yum (ver otras respuestas).

Tenga en cuenta que probablemente querrá hacerlo sudo yum groupinstall 'Development Tools'antes de hacerlo; 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)
Jake_Howard
fuente
8
Para utilizar pip3también vincularlo con sudo ln -s /opt/python3/bin/pip3 /usr/bin/pip3.
golmschenk
@xpmatteo: ¿qué bit está mal? ¿Es solo un paso o el enfoque al que se opone?
Jake_Howard
@Jake_Howard No es cierto que la única forma es instalar manualmente Python3. Esa es ciertamente una opción, pero también puede hacer lo yum install python35que otros han mencionado. Si modificas tu respuesta, eliminaré mi
voto negativo
@xpmatteo - reformuló la respuesta para eliminar la frase incorrecta. Para la posteridad: al momento de hacer la pregunta y publicar la respuesta original, no tenía conocimiento de la capacidad de usar yum con una versión específica de python3 (ver otras respuestas), o estos paquetes no estaban disponibles en el momento de escritura original
Jake_Howard
¡Trabajó para mi! En estos días puedes usar 3.7.2 en lugar de 3.4.2
Al Po
24

EC2 (en la AMI de Amazon Linux) actualmente es compatible con python3.4 y python3.5.

sudo yum install python35
sudo yum install python35-pip
Russ McFatter
fuente
¡Apoyos para esta respuesta! Python3 no está python3en instancias de AWS de forma predeterminada. ¡Es muy frustrante intercambiar entre Ubuntu y AWS Linux cuando se trabaja!
Adam Link
20

A partir de Amazon Linux, la versión 2017.09 de 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.

Realista
fuente
12
pip3 no está vinculado, así que si desea usarlo, sudo ln -s /usr/bin/pip-3.6 / usr / bin / pip3
ski_squaw
4

Amazon Linux ahora es compatible con python36.

python36-pip no está disponible. Por lo tanto, debe 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
Sairam Krish
fuente
Esta es la forma más fácil que funciona en 2020 de todas las demás.
russellthehippo
4

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

Estaba buscando python3.6 en Amazon Linux 2, pero amazon-linux-extrasmuestra muchas opciones pero ninguna python. de hecho, puedes intentar encontrar la versión que conoces en el epelrepositorio:

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
Putnik
fuente
Desafortunadamente, la única versión que muestra ahora es python34.x86_64, deben haber eliminado python36.x86_64, lo cual es bastante molesto.
dragon788
1

Agregando a todas las respuestas ya disponibles para esta pregunta, me gustaría agregar los pasos que seguí para instalar Python3 en la instancia de AWS EC2 que ejecuta CentOS 7. Puede encontrar todos los detalles en este enlace.

https://aws-labs.com/install-python-3-centos-7-2/

Primero, necesitamos habilitar SCL. SCL es un proyecto comunitario que le permite construir, instalar y usar múltiples versiones de software en el mismo sistema, sin afectar los paquetes predeterminados del sistema.

sudo yum install centos-release-scl

Ahora que tenemos el repositorio SCL, podemos instalar python3

sudo yum install rh-python36

Para acceder a Python 3.6, debe iniciar una nueva instancia de shell utilizando la herramienta scl de Software Collection:

scl enable rh-python36 bash

Si comprueba la versión de Python ahora, notará que Python 3.6 es la versión predeterminada

python --version

Es importante señalar que Python 3.6 es la versión predeterminada de Python solo en esta sesión de shell. Si sale de la sesión o abre una nueva sesión desde otro terminal, Python 2.7 será la versión predeterminada de Python.

Ahora, instale las herramientas de desarrollo de Python escribiendo:

sudo yum groupinstall Development Tools

Ahora cree un entorno virtual para que los paquetes de python predeterminados no se estropeen.

mkdir ~/my_new_project
cd ~/my_new_project
python -m venv my_project_venv

Para usar este entorno virtual,

source my_project_venv/bin/activate

Ahora, tiene su entorno virtual configurado con python3.

nambastha
fuente
0

En derivados de Debian como Ubuntu, use apt. Consulte el repositorio de apt para las versiones de Python disponibles para usted. Luego, ejecute un comando similar al siguiente, sustituyendo el nombre del paquete correcto:

sudo apt-get install python3

En Red Hat y derivados, use yum. Consulte el repositorio de yum para ver las versiones de Python disponibles para usted. Luego, ejecute un comando similar al siguiente, sustituyendo el nombre del paquete correcto:

sudo yum install python36

En SUSE y derivados, use zypper. Consulte el repositorio de las versiones de Python disponibles para usted. Luego. ejecute un comando similar al siguiente, sustituyendo el nombre del paquete correcto:

sudo zypper install python3
Portador de la luz
fuente
0

Aquí está el comando para instalar python3 en la instancia de Amazon Linux ec2:

$ sudo yum install python3 -y

$ python3 --version

Python 3.7.6

Pruthvi Chitrala
fuente