Jak zainstalować Python 3 na instancji AWS EC2?

124

Próbuję zainstalować Python 3.x na instancji AWS EC2 i:

sudo yum install python3

nie działa:

No package python3 available.

Przeszukałem go w Google i nie mogę znaleźć nikogo, kto ma ten problem, więc pytam tutaj. Czy muszę go ręcznie pobrać i zainstalować?

Jake_Howard
źródło
1
Prawdopodobnie tak, może nie być jeszcze dostępny dla Amazon Linux (lub wyjaśnij, czy używasz innego systemu operacyjnego).
Simeon Visser
możliwy duplikat instalacji pythona3 na RHEL
BMW
Cześć, tak, to „standardowy” system operacyjny Amazon Linux. Chętnie instaluję ręcznie, ale brakuje kilku rzeczy (i pomyślałem, że najlepiej sprawdzić przed spędzeniem czasu na
zabawie
@BMW odpowiedź, z którą utworzyłeś link, była pomocna, ale nie na tyle, aby działała samodzielnie.
Jake_Howard
Ponieważ pod AMI zmienia się często, może to być przydatne, aby sprawdzić informacje o wydaniu najnowszej maszynie, dostępny tutaj: aws.amazon.com/amazon-linux-ami/#Release_Notes
grząski

Odpowiedzi:

239

Jeśli zrobisz

sudo yum list | grep python3

zobaczysz, że chociaż nie mają pakietu „python3”, to mają pakiet „python34” lub nowszą wersję, taką jak „python36”. Instalacja jest tak prosta, jak:

sudo yum install python34 python34-pip
TaborKelly
źródło
1
Wydaje się, że jest to prostsza odpowiedź. Czy AWS zaktualizowało swoje pakiety w okresie, gdy @Jake_Howard opublikował odpowiedź, a Ty?
Roman
7
Aby użyć pip3, dodaj następujące dowiązanie symboliczne # ln -s /usr/bin/pip-3.4 / usr / bin / pip3
Ray Vahey
10
sudo yum install python34nie działa dla mnie. MówiNo package python34 available.
Sohan Shirodkar
2
@SohanShirodkar może masz pecha i po prostu złapał nowej wersji - ich uwolnienie września przeniosła się do python35... Oto gdzie można zobaczyć najnowsze wersje: aws.amazon.com/amazon-linux-ami/#Release_Notes
grząski
5
W 2018 sudo yum install python36jest również dostępna. nie zapomnij też zainstalować najnowszego pip: python3 -m pip install --user --upgrade pipa potem możesz python3 -m pip install --user virtualenvdla wirtualnego środowiska. ref: Packaging.python.org/guides/installing-using-pip-and-virtualenv
Emmanuel NK
54

Uwaga: może to być nieaktualne dla aktualnych wersji Amazon Linux 2 od końca 2018 roku (patrz komentarze), możesz teraz zainstalować go bezpośrednio przez yum install python3.

W Amazon Linux 2 nie ma python3[4-6]domyślnych repozytoriów yum, zamiast tego jest biblioteka Amazon Extras .

sudo amazon-linux-extras install python3

Jeśli chcesz z nim skonfigurować izolowane środowiska wirtualne; za pomocą yum install„d virtualenvnarzędzia nie wydają się pracować niezawodnie.

virtualenv --python=python3 my_venv

Wywołanie modułu / narzędzia venv jest mniej skomplikowane i możesz wcześniej dokładnie sprawdzić, czego chcesz / oczekujesz python3 --version.

python3 -m venv my_venv

Inne rzeczy, które może zainstalować (wersje od 18 stycznia 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.
źródło
„Temat python3 ma koniec wsparcia technicznego 22.08.2018” to nie jest już obsługiwane
zenbeni
@zenbeni, czy domyślny system Python został zderzony z Pythonem 3?
Nick T
@NickT python3-3.7.2-4.amzn2.0.1.x86_64 jest faktycznie instalowany przez `` yum install python3 '', nie używasz już dodatków Amazon Linux dla Pythona
zenbeni
Jestem lekko zdezorientowany, dlaczego wciąż otrzymuję głosy za (4 w ostatnim miesiącu), jeśli jest teraz przestarzały.
Nick T
40

Oto kroki, które wykonałem, aby ręcznie zainstalować python3 dla każdego, kto chce to zrobić, ponieważ nie jest to bardzo proste. EDYCJA: Prawie na pewno łatwiej jest korzystać z menedżera pakietów yum (zobacz inne odpowiedzi).

Uwaga, prawdopodobnie będziesz chciał to zrobić sudo yum groupinstall 'Development Tools'przed wykonaniem tej czynności, w przeciwnym razie pip nie zainstaluje się.

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
źródło
8
Aby użyć pip3również połącz go z sudo ln -s /opt/python3/bin/pip3 /usr/bin/pip3.
golmschenk
@xpmatteo - który bit jest zły? Czy to tylko krok lub podejście, któremu się sprzeciwiasz?
Jake_Howard
@Jake_Howard Nie jest prawdą, że jedynym sposobem jest ręczna instalacja Pythona3. Jest to z pewnością opcja, ale możesz też zrobić yum install python35tak , jak wspominali inni. Jeśli zechciałbyś zmienić swoją odpowiedź, usunę mój głos przeciw :)
xpmatteo
@xpmatteo - przeredagowano odpowiedź, aby usunąć niepoprawne wyrażenie. Dla potomnych: w momencie zadawania pytania i wysyłania oryginalnej odpowiedzi nie byłem świadomy możliwości używania yum z określoną wersją pythona3 (zobacz inne odpowiedzi) lub te pakiety nie były dostępne w czasie oryginalne pisanie.
Jake_Howard
Pracował dla mnie! W dzisiejszych czasach możesz użyć wersji 3.7.2 zamiast 3.4.2
Al Po
24

EC2 (na Amazon Linux AMI) obsługuje obecnie python3.4 i python3.5.

sudo yum install python35
sudo yum install python35-pip
Russ McFatter
źródło
Podziękowania za tę odpowiedź! Python3 nie jest python3domyślnie dostępny w instancjach AWS. Bardzo frustrujące jest przełączanie się między Ubuntu a AWS Linux podczas pracy!
Adam Link
20

Od wersji Amazon Linux 2017.09 python 3.6 jest już dostępny:

sudo yum install python36 python36-virtualenv python36-pip

Zobacz Informacje o wydaniu, aby uzyskać więcej informacji i inne pakiety

Realistyczny
źródło
12
pip3 nie jest powiązany, więc jeśli chcesz go użyć, sudo ln -s /usr/bin/pip-3.6 / usr / bin / pip3
ski_squaw
4

Amazon Linux obsługuje teraz python36.

python36-pip jest niedostępny. Więc trzeba podążać inną trasą.

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
źródło
To najłatwiejszy sposób, który działa w 2020 roku ze wszystkich innych.
russellthehippo
4

Jak powiedział @NickT, w domyślnych repozytoriach yum w Amazon Linux 2 nie ma python3 [4-6] , na dzień dzisiejszy używa wersji 3.7 i patrząc na wszystkie odpowiedzi tutaj, możemy powiedzieć, że będzie się zmieniać z czasem.

Szukałem pythona3.6 na Amazon Linux 2, ale amazon-linux-extraspokazuje wiele opcji, ale w ogóle nie ma Pythona. w rzeczywistości możesz spróbować znaleźć wersję, którą znasz w epelrepozytorium:

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
źródło
Niestety jedyną wersją, którą teraz pokazuje, jest python34.x86_64, musieli usunąć python36.x86_64, co jest dość denerwujące.
dragon788
1

Dodając do wszystkich odpowiedzi już dostępnych na to pytanie, chciałbym dodać kroki, które wykonałem, aby zainstalować Python3 na instancji AWS EC2 z systemem CentOS 7. Wszystkie szczegóły znajdziesz pod tym linkiem.

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

Najpierw musimy włączyć SCL. SCL to projekt społeczności, który umożliwia tworzenie, instalowanie i używanie wielu wersji oprogramowania w tym samym systemie bez wpływu na domyślne pakiety systemowe.

sudo yum install centos-release-scl

Teraz, gdy mamy repozytorium SCL, możemy zainstalować python3

sudo yum install rh-python36

Aby uzyskać dostęp do Pythona 3.6, musisz uruchomić nową instancję powłoki za pomocą narzędzia Software Collection scl:

scl enable rh-python36 bash

Jeśli teraz sprawdzisz wersję Pythona, zauważysz, że Python 3.6 jest wersją domyślną

python --version

Należy zwrócić uwagę, że Python 3.6 jest domyślną wersją Pythona tylko w tej sesji powłoki. Jeśli wyjdziesz z sesji lub otworzysz nową sesję z innego terminala, Python 2.7 będzie domyślną wersją Pythona.

Teraz zainstaluj narzędzia programistyczne Pythona, wpisując:

sudo yum groupinstall Development Tools

Teraz utwórz środowisko wirtualne, aby nie pomieszać domyślnych pakietów Pythona.

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

Aby korzystać z tego wirtualnego środowiska,

source my_project_venv/bin/activate

Teraz masz skonfigurowane środowisko wirtualne z python3.

nambastha
źródło
0

W przypadku pochodnych Debiana, takich jak Ubuntu, użyj apt. Sprawdź repozytorium apt, aby znaleźć dostępne wersje języka Python. Następnie uruchom polecenie podobne do poniższego, zastępując poprawną nazwę pakietu:

sudo apt-get install python3

W przypadku Red Hat i pochodnych użyj yum. Sprawdź repozytorium yum pod kątem dostępnych wersji Pythona. Następnie uruchom polecenie podobne do poniższego, zastępując poprawną nazwę pakietu:

sudo yum install python36

W przypadku SUSE i pochodnych użyj zyppera. Sprawdź repozytorium pod kątem dostępnych wersji Pythona. Następnie. uruchom polecenie podobne do poniższego, zastępując poprawną nazwę pakietu:

sudo zypper install python3
Light Bringer
źródło
0

Oto jedno polecenie, aby zainstalować python3 na instancji Amazon linux ec2:

$ sudo yum install python3 -y

$ python3 --version

Python 3.7.6

Pruthvi Chitrala
źródło