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ć?


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

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 ]

„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)

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

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


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

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

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.


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

0

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

$ sudo yum install python3 -y

$ python3 --version

Python 3.7.6

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.