Como instalo o Python 3 em uma instância do AWS EC2?


124

Estou tentando instalar o python 3.x em uma instância do AWS EC2 e:

sudo yum install python3

não funciona:

No package python3 available.

Pesquisei no Google e não consigo encontrar mais ninguém com esse problema, então estou perguntando aqui. Tenho que baixar e instalar manualmente?


1
Possivelmente sim, talvez ainda não esteja disponível para o Amazon Linux (ou esclareça se você está usando um sistema operacional diferente).
— Simeon Visser

possível duplicado de Instalando python3 no RHEL
— BMW

Olá, sim, é o Amazon Linux OS 'padrão'. Feliz para instalar manualmente, mas há algumas coisas que faltam (e achei melhor verificar antes de gastar Messing vez sobre :)
— Jake_Howard

@BMW, a resposta à qual você vinculou foi útil, mas não o suficiente para fazê-la funcionar por conta própria.
— Jake_Howard

Como a AMI subjacente é alterada frequentemente, pode ser útil verificar as notas de versão da máquina mais recente, disponível aqui: aws.amazon.com/amazon-linux-ami/#Release_Notes
— slushy

Respostas:


239

Se você fizer uma

sudo yum list | grep python3

você verá que, embora eles não tenham um pacote "python3", eles têm um pacote "python34" ou uma versão mais recente, como "python36". A instalação é tão fácil quanto:

sudo yum install python34 python34-pip

1
Esta parece ser a resposta mais simples. A AWS atualizou seus pacotes entre quando @Jake_Howard postou uma resposta e você fez?
— Roman

7
Para usar PIP3 adicione o seguinte link simbólico # ln -s /usr/bin/pip-3.4 / usr / bin / PIP3
— Ray Vahey

10
sudo yum install python34não funciona para mim. DizNo package python34 available.
— Sohan Shirodkar

2
@SohanShirodkar, você pode ter tido azar e acabou de pegar um novo lançamento - o lançamento de setembro mudou-se para python35... aqui é onde você pode ver os lançamentos mais recentes: aws.amazon.com/amazon-linux-ami/#Release_Notes
— slushy

5
Em 2018, sudo yum install python36também está disponível. Também não se esqueça de instalar o pip mais recente: python3 -m pip install --user --upgrade pipe então você pode python3 -m pip install --user virtualenvobter um ambiente virtual. ref: packaging.python.org/guides/installing-using-pip-and-virtualenv
— Emmanuel NK

54

Nota: Isso pode estar obsoleto para as versões atuais do Amazon Linux 2 desde o final de 2018 (ver comentários), agora você pode instalá-lo diretamente via yum install python3.

No Amazon Linux 2 , não há um python3[4-6]no yum repos padrão, mas há a Amazon Extras Library .

sudo amazon-linux-extras install python3

Se você deseja configurar ambientes virtuais isolados com ele; usando yum install'D virtualenvferramentas não parecem funcionar de forma confiável.

virtualenv --python=python3 my_venv

Chamar o módulo / ferramenta venv é menos complicado, e você pode verificar novamente o que você deseja / espera com python3 --versionantecedência.

python3 -m venv my_venv

Outras coisas que ele pode instalar (versões a partir de 18 de janeiro 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 ]

"Python3 Topic tem data de fim-de-apoio de 2018/08/22" isso não é suportado mais
— zenbeni

@zenbeni o sistema padrão Python foi colidido com o Python 3?
— Nick T

@NickT python3-3.7.2-4.amzn2.0.1.x86_64 é realmente instalado através do 'yum install python3', você não usa mais os amazon linux extras para python
— zenbeni

Estou levemente confuso por que isso continua recebendo votos positivos (4 no último mês) se agora está obsoleto.
— Nick T

40

Aqui estão as etapas que eu usei para instalar manualmente o python3 para qualquer pessoa que queira fazer isso, pois não é super direto. EDIT: É quase certamente mais fácil usar o gerenciador de pacotes yum (veja outras respostas).

Observe que você provavelmente desejará fazer isso sudo yum groupinstall 'Development Tools'antes de fazer isso, caso contrário o pip não será instalado.

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)

8
Para usar pip3também vincule-o sudo ln -s /opt/python3/bin/pip3 /usr/bin/pip3.
— golmschenk

@xpmatteo - qual bit está errado? É apenas um passo ou a abordagem a que você se opõe?
— Jake_Howard 11/06

@ Jake_Howard Não é verdade que a única maneira é instalar manualmente o Python3. Essa é certamente uma opção, mas você também pode fazer o yum install python35que os outros mencionaram. Se você gentilmente alterar a sua resposta vou retirar o meu downvote :)
— xpmatteo

@xpmatteo - reformulou a resposta para remover a frase incorreta. Para a posteridade: no momento de fazer a pergunta e postar a resposta original, eu não estava ciente da capacidade de usar o yum com uma versão específica do python3 (veja outras respostas), ou esses pacotes não estavam disponíveis no momento de escrita original.
— Jake_Howard

Trabalhou para mim! Hoje em dia você pode usar o 3.7.2 em vez do 3.4.2
— Al Po

24

Atualmente, o EC2 (na Amazon Linux AMI) suporta python3.4 e python3.5.

sudo yum install python35
sudo yum install python35-pip

Adereços para esta resposta! O Python3 não está python3nas instâncias da AWS por padrão. Muito frustrante para trocar entre Ubuntu e AWS Linux ao trabalhar!
— Adam Fazer a ligação

20

A partir da Amazon Linux versão 2017.09, o python 3.6 já estava disponível:

sudo yum install python36 python36-virtualenv python36-pip

Consulte as Notas da versão para obter mais informações e outros pacotes


12
PIP3 não está ligada, então se você quiser usá-lo, sudo ln -s /usr/bin/pip-3.6 / usr / bin / PIP3
— ski_squaw

4

O Amazon Linux agora suporta python36.

python36-pip não está disponível. Então, precisa seguir uma rota 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

Esta é a maneira mais fácil que funciona em 2020 de todas as outras.
— russellthehippo

4

Como o @NickT disse, não há python3 [4-6] nos repositórios yum padrão no Amazon Linux 2 , atualmente ele usa 3.7 e, olhando todas as respostas aqui, podemos dizer que será alterado com o tempo.

Eu estava procurando por python3.6 no Amazon Linux 2, mas amazon-linux-extrasmostra muitas opções, mas nenhum python. de fato, você pode tentar encontrar a versão que você conhece no epelrepo:

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

Infelizmente, a única versão que mostra mais agora é python34.x86_64, eles devem ter removido o python36.x86_64, o que é bastante irritante.
— dragon788 3/06

1

Adicionando a todas as respostas já disponíveis para esta pergunta, gostaria de adicionar as etapas que segui para instalar o Python3 na instância do AWS EC2 executando o CentOS 7. Você pode encontrar todos os detalhes neste link.

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

Primeiro, precisamos ativar o SCL. O SCL é um projeto da comunidade que permite criar, instalar e usar várias versões de software no mesmo sistema, sem afetar os pacotes padrão do sistema.

sudo yum install centos-release-scl

Agora que temos o repositório SCL, podemos instalar o python3

sudo yum install rh-python36

Para acessar o Python 3.6, é necessário iniciar uma nova instância do shell usando a ferramenta scl do Software Collection:

scl enable rh-python36 bash

Se você verificar a versão do Python agora, notará que o Python 3.6 é a versão padrão

python --version

É importante ressaltar que o Python 3.6 é a versão padrão do Python apenas nesta sessão do shell. Se você sair da sessão ou abrir uma nova sessão em outro terminal, o Python 2.7 será a versão padrão do Python.

Agora, instale as ferramentas de desenvolvimento python, digitando:

sudo yum groupinstall ‘Development Tools’

Agora crie um ambiente virtual para que os pacotes python padrão não fiquem confusos.

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

Para usar esse ambiente virtual,

source my_project_venv/bin/activate

Agora, você tem seu ambiente virtual configurado com python3.


0

Em derivativos Debian como o Ubuntu, use o apt. Verifique no repositório apt as versões do Python disponíveis para você. Em seguida, execute um comando semelhante ao seguinte, substituindo o nome do pacote correto:

sudo apt-get install python3

No Red Hat e derivados, use yum. Verifique no repositório yum as versões do Python disponíveis para você. Em seguida, execute um comando semelhante ao seguinte, substituindo o nome do pacote correto:

sudo yum install python36

No SUSE e derivados, use o zypper. Verifique no repositório as versões do Python disponíveis para você. Então. execute um comando semelhante ao seguinte, substituindo o nome do pacote correto:

sudo zypper install python3

0

Aqui está o único comando para instalar o python3 na instância do Amazon linux ec2:

$ sudo yum instala o python3 -y

$ python3 --version

Python 3.7.6

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.