Come installo Python 3 su un'istanza di AWS EC2?


124

Sto cercando di installare Python 3.x su un'istanza di AWS EC2 e:

sudo yum install python3

non funziona:

No package python3 available.

Ho cercato su Google e non riesco a trovare nessun altro che abbia questo problema, quindi chiedo qui. Devo scaricare e installarlo manualmente?


1
Forse sì, potrebbe non essere ancora disponibile per Amazon Linux (o chiarire se si utilizza un sistema operativo diverso).
Simeon Visser,


Ciao, sì, è il sistema operativo Amazon Linux "standard". Felice di installare manualmente ma mancano alcune cose (e ho pensato che fosse meglio controllare prima di passare il tempo a scherzare :)
Jake_Howard,

@BMW la risposta a cui ti sei collegato è stata utile ma non abbastanza per farlo funzionare da solo.
Jake_Howard,

Poiché l'AMI sottostante cambia spesso, può essere utile controllare le note di rilascio della macchina più recente, disponibili qui: aws.amazon.com/amazon-linux-ami/#Release_Notes
fangoso

Risposte:


239

Se lo fai a

sudo yum list | grep python3

vedrai che mentre non hanno un pacchetto "python3", hanno un pacchetto "python34" o una versione più recente, come "python36". Installarlo è facile come:

sudo yum install python34 python34-pip

1
Questa sembra essere la risposta più semplice. AWS ha aggiornato i propri pacchetti tra quando @Jake_Howard ha pubblicato una risposta e tu l'hai fatto?
Romano,

7
Per usare pip3 aggiungi il seguente link simbolico # ln -s /usr/bin/pip-3.4 / usr / bin / pip3
Ray Vahey

10
sudo yum install python34non funziona per me. DiceNo package python34 available.
Sohan Shirodkar,

2
@SohanShirodkar potrebbe essere stato sfortunato e appena pescato una nuova versione - la loro release di settembre si trasferisce a python35... ecco dove si possono vedere le ultime uscite: aws.amazon.com/amazon-linux-ami/#Release_Notes
fangosa

5
Nel 2018, sudo yum install python36è anche disponibile. inoltre, non dimenticare di installare l'ultimo pip: python3 -m pip install --user --upgrade pipe quindi puoi farlo python3 -m pip install --user virtualenvper un ambiente virtuale. ref: packaging.python.org/guides/installing-using-pip-and-virtualenv
Emmanuel NK,

54

Nota: questo potrebbe essere obsoleto per le versioni correnti di Amazon Linux 2 dalla fine del 2018 (vedi commenti), ora puoi installarlo direttamente tramite yum install python3.

In Amazon Linux 2 , non esiste un python3[4-6]repository yum predefinito, invece c'è Amazon Extras Library .

sudo amazon-linux-extras install python3

Se si desidera impostare ambienti virtuali isolati con esso; l'utilizzo yum installdegli virtualenvstrumenti non sembra funzionare in modo affidabile.

virtualenv --python=python3 my_venv

Chiamare il modulo / strumento venv è meno complicato e si può ricontrollare in python3 --versionanticipo che è quello che si desidera / aspettarsi .

python3 -m venv my_venv

Altre cose che può installare (versioni dal 18 gennaio 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 ]

"L'argomento python3 ha una data di fine supporto del 22-08-2018" non è più supportato
zenbeni,

@zenbeni il sistema predefinito Python è stato bloccato su Python 3?
Nick T

@NickT python3-3.7.2-4.amzn2.0.1.x86_64 è effettivamente installato tramite 'yum install python3' non usi più gli extra di Linux per python
zenbeni,

Sono leggermente confuso perché questo continua a ricevere voti (4 nell'ultimo mese) se è ormai obsoleto.
Nick T,

40

Ecco i passaggi che ho usato per installare manualmente python3 per chiunque voglia farlo in quanto non è super semplice. EDIT: è quasi certamente più facile usare il gestore pacchetti yum (vedi altre risposte).

Nota, probabilmente vorrai farlo sudo yum groupinstall 'Development Tools'prima di farlo altrimenti pip non si installerà.

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
Per utilizzare pip3anche collegarlo con sudo ln -s /opt/python3/bin/pip3 /usr/bin/pip3.
Golmschenk,

@xpmatteo - quale bit è sbagliato? È solo un passo o l'approccio a cui ti opponi?
Jake_Howard l'

@Jake_Howard Non è vero che l'unico modo è installare manualmente Python3. Questa è certamente un'opzione, ma puoi anche fare yum install python35come altri hanno già detto. Se modifichi gentilmente la tua risposta, rimuoverò il mio
voto negativo

@xpmatteo: riformulato la risposta per rimuovere la frase errata. Per i posteri: al momento di porre la domanda e pubblicare la risposta originale, non ero a conoscenza della possibilità di usare yum con una versione specifica di python3 (vedi altre risposte), o questi pacchetti non erano disponibili al momento di scrittura originale.
Jake_Howard,

Ha funzionato per me! In questi giorni è possibile utilizzare 3.7.2 anziché 3.4.2
Al Po

24

EC2 (su Amazon Linux AMI) attualmente supporta python3.4 e python3.5.

sudo yum install python35
sudo yum install python35-pip

Puntelli per questa risposta! Python3 non è python3nelle istanze AWS per impostazione predefinita. Molto frustrante passare da Ubuntu a AWS Linux quando si lavora!
Adam Link,

20

A partire da Amazon Linux versione 2017.09 python 3.6 è ora disponibile:

sudo yum install python36 python36-virtualenv python36-pip

Vedi le Note di rilascio per maggiori informazioni e altri pacchetti


12
pip3 non è collegato, quindi se vuoi usarlo, sudo ln -s /usr/bin/pip-3.6 / usr / bin / pip3
ski_squaw

4

Amazon Linux ora supporta python36.

python36-pip non è disponibile. Quindi è necessario seguire un percorso diverso.

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

Questo è il modo più semplice che funziona nel 2020 di tutti gli altri.
russellthehippo

4

Come ha detto @NickT, non c'è python3 [4-6] nei repository yum predefiniti in Amazon Linux 2 , ad oggi utilizza 3.7 e guardando tutte le risposte qui possiamo dire che cambierà nel tempo.

Stavo cercando python3.6 su Amazon Linux 2, ma amazon-linux-extrasmostra molte opzioni ma niente python. infatti, puoi provare a trovare la versione che conosci in epelrepository:

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

Purtroppo l'unica versione che mostra più ora è python34.x86_64, devono aver rimosso python36.x86_64 che è abbastanza fastidioso.
dragon788,

1

Aggiungendo a tutte le risposte già disponibili per questa domanda, vorrei aggiungere i passaggi che ho seguito per installare Python3 sull'istanza di AWS EC2 con CentOS 7. Puoi trovare tutti i dettagli a questo link.

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

Innanzitutto, dobbiamo abilitare SCL. SCL è un progetto della comunità che consente di creare, installare e utilizzare più versioni di software sullo stesso sistema, senza influire sui pacchetti predefiniti del sistema.

sudo yum install centos-release-scl

Ora che abbiamo un repository SCL, possiamo installare python3

sudo yum install rh-python36

Per accedere a Python 3.6 è necessario avviare una nuova istanza della shell utilizzando lo strumento scl Collezione software:

scl enable rh-python36 bash

Se controlli la versione di Python ora noterai che Python 3.6 è la versione predefinita

python --version

È importante sottolineare che Python 3.6 è la versione predefinita di Python solo in questa sessione di shell. Se si esce dalla sessione o si apre una nuova sessione da un altro terminale, Python 2.7 sarà la versione predefinita di Python.

Ora, installa gli strumenti di sviluppo di Python digitando:

sudo yum groupinstall Development Tools

Ora crea un ambiente virtuale in modo che i pacchetti python predefiniti non vengano incasinati.

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

Per utilizzare questo ambiente virtuale,

source my_project_venv/bin/activate

Ora hai il tuo ambiente virtuale configurato con python3.


0

Sui derivati ​​Debian come Ubuntu, usare apt. Controlla il repository apt per le versioni di Python disponibili. Quindi, esegui un comando simile al seguente, sostituendo il nome del pacchetto corretto:

sudo apt-get install python3

Su Red Hat e derivati, usa yum. Controlla nel repository yum le versioni di Python disponibili. Quindi, esegui un comando simile al seguente, sostituendo il nome del pacchetto corretto:

sudo yum install python36

Su SUSE e derivati, usa zypper. Controlla nel repository le versioni di Python disponibili. Poi. eseguire un comando simile al seguente, sostituendo il nome del pacchetto corretto:

sudo zypper install python3

0

Ecco l'unico comando per installare python3 sull'istanza di Amazon Linux ec2:

$ sudo yum installa python3 -y

$ python3 --version

Python 3.7.6

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.