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.