webentwicklung-frage-antwort-db.com.de

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

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 herumgegoogelt und kann niemanden finden, der dieses Problem hat, also frage ich hier. Muss ich es manuell herunterladen und installieren?

107
Jake_Howard

Wenn Sie a

Sudo yum list | grep python3

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

Sudo yum install python34 python34-pip
190
TaborKelly

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 yum install python3 Installieren.

In Amazon Linux 2 gibt es in den Standard-YUM-Repos kein python3[4-6], Sondern das Amazon Extras Library) .

Sudo Amazon-linux-extras install python3

Wenn Sie damit isolierte virtuelle Umgebungen einrichten möchten; Die Verwendung von yum install 'd virtualenv -Tools scheint nicht zuverlässig zu funktionieren.

virtualenv --python=python3 my_venv

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

python3 -m venv my_venv

Andere Dinge, die es installieren kann (Versionen ab dem 18. Januar 18):

[[email protected] ~]$ 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 ]
47
Nick T

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

Beachten Sie, dass Sie wahrscheinlich Folgendes tun möchten: Sudo yum groupinstall 'Development Tools' vorher, sonst wird pip nicht installiert.

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)
35
Jake_Howard

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

Sudo yum install python35
Sudo yum install python35-pip
23
Russ McFatter

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

Sudo yum install python36 python36-virtualenv python36-pip

Weitere Informationen und andere Pakete finden Sie in den Versionshinweisen

19
Realistic

Amazon Linux unterstützt jetzt python36.

python36-pip ist nicht verfügbar. Müssen Sie also eine andere Route 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
2
Sairam Krish

Wie @NickT sagte, gibt es kein Python3 [4-6] in den Standard-Yum-Repos in Amazon Linux 2, ab heute wird 3.7 verwendet und wenn man sich alle Antworten hier ansieht, kann man sagen, dass es umgestellt wird Zeit.

Ich habe unter Amazon Linux 2 nach python3.6 gesucht, aber Amazon-linux-extras zeigt viele Optionen, aber keine python überhaupt. Tatsächlich können Sie versuchen, die Ihnen bekannte Version in epel repo zu finden:

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
2
Putnik

In Ergänzung zu allen Antworten, die für diese Frage bereits verfügbar sind, möchte ich die Schritte hinzufügen, die ich ausgeführt habe, um Python3 auf einer AWS EC2-Instanz unter CentOS 7 zu installieren. Die vollständigen 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 Standardpakete des Systems zu beeinträchtigen.

Sudo yum install centos-release-scl

Nachdem wir nun 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 von Software Collection starten:

scl enable rh-python36 bash

Wenn Sie die Version Python prüfen, werden Sie feststellen, dass Python= 3.6 die Standardversion ist

python --version

Es ist wichtig darauf hinzuweisen, dass Python 3.6 die Standardversion Python= nur in dieser Shell-Sitzung ist. Wenn Sie die Sitzung beenden oder eine neue Sitzung aus einer anderen öffnen terminal Python 2.7 wird die Standardversion sein Python.

Installieren Sie nun die python Entwicklungstools, indem Sie Folgendes eingeben:

Sudo yum groupinstall ‘Development Tools’

Erstellen Sie jetzt eine virtuelle Umgebung, damit die Standardpakete python 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.

1