Wie installiere ich Python 3 auf einer AWS EC2-Instanz?

124

Ich versuche, Python 3.x auf einer AWS EC2-Instanz zu installieren und:

sudo yum install python3

funktioniert nicht:

No package python3 available.

Ich habe herum gegoogelt und kann niemanden finden, der dieses Problem hat, also frage ich hier. Muss ich es manuell herunterladen und installieren?

Jake_Howard
quelle
1
Möglicherweise ja, es ist möglicherweise noch nicht für Amazon Linux verfügbar (oder klären Sie, ob Sie ein anderes Betriebssystem verwenden).
Simeon Visser
Mögliches Duplikat der Installation von Python3 auf RHEL
BMW
Hallo, ja, es ist das 'Standard'-Betriebssystem von Amazon Linux. Gerne manuell zu installieren, aber es fehlen ein paar Dinge (und ich dachte, es ist am besten zu überprüfen, bevor Sie Zeit damit verbringen, herumzuspielen :)
Jake_Howard
@BMW Die Antwort, auf die Sie verlinkt haben, war hilfreich, aber nicht genug, um sie selbst zum Laufen zu bringen.
Jake_Howard
Da sich der AMI darunter häufig ändert, kann es nützlich sein, die Versionshinweise
slushy

Antworten:

238

Wenn Sie eine

sudo yum list | grep python3

Sie werden sehen, dass sie zwar kein "python3" -Paket haben, aber ein "python34" -Paket oder eine neuere Version wie "python36". Die Installation ist so einfach wie:

sudo yum install python34 python34-pip
TaborKelly
quelle
1
Dies scheint die einfachere Antwort zu sein. Hat AWS seine Pakete aktualisiert, als @Jake_Howard eine Antwort veröffentlichte und Sie?
Roman
7
Um pip3 zu verwenden, fügen Sie den folgenden symbolischen Link hinzu: # ln -s /usr/bin/pip-3.4 / usr / bin / pip3
Ray Vahey
10
sudo yum install python34funktioniert bei mir nicht Es heißtNo package python34 available.
Sohan Shirodkar
2
@SohanShirodkar Sie hatten möglicherweise Pech und haben gerade eine neue Veröffentlichung erhalten - ihre September-Veröffentlichung wurde verschoben nach python35... hier können Sie die neuesten Veröffentlichungen sehen: aws.amazon.com/amazon-linux-ami/#Release_Notes
slushy
5
Im Jahr 2018 sudo yum install python36ist auch verfügbar. Vergessen Sie auch nicht, die neueste Pip zu installieren: python3 -m pip install --user --upgrade pipund dann können Sie python3 -m pip install --user virtualenvfür eine virtuelle Umgebung. Ref: Packaging.python.org/guides/installing-using-pip-and-virtualenv
Emmanuel NK
54

Hinweis: Dies ist möglicherweise für aktuelle Versionen von Amazon Linux 2 seit Ende 2018 veraltet (siehe Kommentare). Sie können es jetzt direkt über installieren yum install python3.

In Amazon Linux 2 gibt es kein python3[4-6]Standard-Yum-Repos, sondern die Amazon Extras Library .

sudo amazon-linux-extras install python3

Wenn Sie damit isolierte virtuelle Umgebungen einrichten möchten; mit yum install‚d - virtualenvTool scheint nicht zuverlässig arbeiten.

virtualenv --python=python3 my_venv

Das Aufrufen des venv-Moduls / -Tools ist weniger schwierig, und Sie können vorher überprüfen, ob es das ist, was Sie wollen / erwarten python3 --version.

python3 -m venv my_venv

Andere Dinge, die es installieren kann (Versionen vom 18. Januar 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.
quelle
"Topic python3 hat das Ende der Unterstützung am 22.08.2018" wird nicht mehr unterstützt
zenbeni
@zenbeni Wurde das Standardsystem Python auf Python 3 gestoßen?
Nick T
@NickT python3-3.7.2-4.amzn2.0.1.x86_64 wird tatsächlich über 'yum install python3' installiert. Sie verwenden keine Amazon Linux-Extras mehr für Python
Zenbeni
Ich bin leicht verwirrt, warum dies immer wieder positiv bewertet wird (4 im letzten Monat), wenn es jetzt veraltet ist.
Nick T
40

Hier sind die Schritte, mit denen ich python3 manuell für alle anderen installiert habe, die dies tun möchten, da es nicht sehr einfach ist. BEARBEITEN: Es ist mit ziemlicher Sicherheit einfacher, den yum-Paketmanager zu verwenden (siehe andere Antworten).

Beachten Sie, dass Sie dies wahrscheinlich sudo yum groupinstall 'Development Tools'vorher tun möchten, da pip sonst nicht installiert wird.

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
quelle
8
Zur Verwendung pip3auch mit verknüpfen sudo ln -s /opt/python3/bin/pip3 /usr/bin/pip3.
Golmschenk
@xpmatteo - welches Bit ist falsch? Ist es nur ein Schritt oder der Ansatz, gegen den Sie Einwände erheben?
Jake_Howard
@Jake_Howard Es ist nicht wahr, dass die einzige Möglichkeit darin besteht, Python3 manuell zu installieren. Das ist sicherlich eine Option, aber Sie können auch tun, yum install python35was andere erwähnt haben. Wenn Sie Ihre Antwort freundlicherweise ändern würden, werde ich meine Ablehnung entfernen :)
xpmatteo
@xpmatteo - Die Antwort wurde umformuliert, um die falsche Phrase zu entfernen. Für die Nachwelt: Zum Zeitpunkt des Fragens und der Veröffentlichung der ursprünglichen Antwort war mir nicht bekannt, ob yum mit einer bestimmten Version von python3 verwendet werden kann (siehe andere Antworten), oder diese Pakete waren zum Zeitpunkt von nicht verfügbar Originalschrift.
Jake_Howard
Hat für mich gearbeitet! In diesen Tagen können Sie 3.7.2 anstelle von 3.4.2
Al Po
24

EC2 (unter Amazon Linux AMI) unterstützt derzeit Python3.4 und Python3.5.

sudo yum install python35
sudo yum install python35-pip
Russ McFatter
quelle
Requisiten für diese Antwort! Python3 befindet sich python3standardmäßig nicht auf AWS-Instanzen. Sehr frustrierend, wenn man bei der Arbeit zwischen Ubuntu und AWS Linux wechselt!
Adam Link
20

Ab Amazon Linux Version 2017.09 ist Python 3.6 jetzt verfügbar:

sudo yum install python36 python36-virtualenv python36-pip

Siehe die Release Notes für weitere Informationen und andere Pakete

Realistisch
quelle
12
pip3 ist nicht verknüpft. Wenn Sie es also verwenden möchten, sudo ln -s /usr/bin/pip-3.6 / usr / bin / pip3
ski_squaw
4

Amazon Linux unterstützt jetzt python36.

python36-pip ist nicht verfügbar. Also muss man einem anderen Weg folgen.

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
quelle
Dies ist der einfachste Weg, der 2020 von allen anderen funktioniert.
russellthehippo
4

Wie @NickT sagte, gibt es in Amazon Linux 2 kein Python3 [4-6] in den Standard-Yum-Repos heute wird 3.7 verwendet. wir uns alle Antworten hier ansehen, können wir sagen, dass es sich im Laufe der Zeit ändern wird.

Ich habe unter Amazon Linux 2 nach Python3.6 gesucht, aber es amazon-linux-extrasgibt viele Optionen, aber überhaupt kein Python. In der Tat können Sie versuchen, die Version zu finden, die Sie in epelRepo kennen:

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
quelle
Leider ist die einzige Version, die jetzt angezeigt wird, python34.x86_64. Sie müssen python36.x86_64 entfernt haben, was ziemlich ärgerlich ist.
dragon788
1

Zusätzlich zu allen Antworten, die bereits für diese Frage verfügbar sind, möchte ich die Schritte hinzufügen, die ich zur Installation von Python3 auf einer AWS EC2-Instanz unter CentOS 7 ausgeführt habe. Die gesamten Details finden Sie unter diesem Link.

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

Zuerst müssen wir SCL aktivieren. SCL ist ein Community-Projekt, mit dem Sie mehrere Softwareversionen auf demselben System erstellen, installieren und verwenden können, ohne die Systemstandardpakete zu beeinflussen.

sudo yum install centos-release-scl

Nachdem wir das SCL-Repository haben, können wir python3 installieren

sudo yum install rh-python36

Um auf Python 3.6 zuzugreifen, müssen Sie eine neue Shell-Instanz mit dem scl-Tool Software Collection starten:

scl enable rh-python36 bash

Wenn Sie jetzt die Python-Version überprüfen, werden Sie feststellen, dass Python 3.6 die Standardversion ist

python --version

Es ist wichtig darauf hinzuweisen, dass Python 3.6 nur in dieser Shell-Sitzung die Standardversion von Python ist. Wenn Sie die Sitzung beenden oder eine neue Sitzung von einem anderen Terminal aus öffnen, ist Python 2.7 die Standardversion von Python.

Installieren Sie nun die Python-Entwicklungstools, indem Sie Folgendes eingeben:

sudo yum groupinstall Development Tools

Erstellen Sie jetzt eine virtuelle Umgebung, damit die Standard-Python-Pakete nicht durcheinander geraten.

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

Um diese virtuelle Umgebung zu verwenden,

source my_project_venv/bin/activate

Jetzt haben Sie Ihre virtuelle Umgebung mit Python3 eingerichtet.

nambastha
quelle
0

Verwenden Sie auf Debian-Derivaten wie Ubuntu apt. Überprüfen Sie das apt-Repository auf die Versionen von Python, die Ihnen zur Verfügung stehen. Führen Sie dann einen Befehl ähnlich dem folgenden aus und ersetzen Sie den richtigen Paketnamen:

sudo apt-get install python3

Verwenden Sie für Red Hat und Derivate yum. Überprüfen Sie das yum-Repository auf die Versionen von Python, die Ihnen zur Verfügung stehen. Führen Sie dann einen Befehl ähnlich dem folgenden aus und ersetzen Sie den richtigen Paketnamen:

sudo yum install python36

Verwenden Sie für SUSE und Derivate Zypper. Überprüfen Sie das Repository auf die Versionen von Python, die Ihnen zur Verfügung stehen. Dann. Führen Sie einen Befehl ähnlich dem folgenden aus und ersetzen Sie den richtigen Paketnamen:

sudo zypper install python3
Lichtbringer
quelle