Як встановити Python 3 на екземпляр AWS EC2?


124

Я намагаюся встановити python 3.x на екземпляр AWS EC2 і:

sudo yum install python3

не працює:

No package python3 available.

Я гуляв навколо, і я не можу знайти нікого, хто має цю проблему, тому я прошу тут. Чи потрібно вручну завантажити та встановити його?


1
Можливо, так, воно ще не доступне для Amazon Linux (або уточнюйте, якщо ви використовуєте іншу ОС).
Симеон Віссер

можливий дублікат Встановлення python3 на RHEL
BMW

Привіт, так, це "стандартна" Amazon Linux OS. Рада встановити вручну, але є кілька речей (і я подумав, що краще перевірити, перш ніж витрачати час на
метування

@BMW відповідь, на яку ви посилаєтесь, була корисною, але недостатньою, щоб вона працювала самостійно.
Jake_Howard

Оскільки під AMI часто змінюється, це може бути корисно , щоб перевірити примітки до випуску для самої останньої машини, можна подивитися тут: aws.amazon.com/amazon-linux-ami/#Release_Notes
мокрий

Відповіді:


240

Якщо ви робите

sudo yum list | grep python3

ви побачите, що поки у них немає пакету "python3", у них є пакет "python34" або більш пізнього випуску, наприклад "python36". Встановити його так просто, як:

sudo yum install python34 python34-pip

1
Це здається більш простою відповіддю. Чи оновив AWS свої пакети між тим, коли @Jake_Howard опублікував відповідь, і ви зробили?
Роман

7
Для використання pip3 додайте наступне символічне посилання # ln -s /usr/bin/pip-3.4 / usr / bin / pip3
Ray Vahey

10
sudo yum install python34не працює для мене. Там сказаноNo package python34 available.
Сохан Широдкар

2
@SohanShirodkar ви , можливо, не пощастило і просто зловили новий реліз - їх випуск вересня переїхав python35... ось де ви можете побачити найновіші релізи: aws.amazon.com/amazon-linux-ami/#Release_Notes
мокрий

5
У 2018 році sudo yum install python36також доступний. також не забудьте встановити останній pip: python3 -m pip install --user --upgrade pipі тоді ви можете python3 -m pip install --user virtualenvдля віртуального env. ref: packaging.python.org/guides/installing-using-pip-and-virtualenv
Emmanuel NK

54

Примітка. Це може бути застарілим для поточних версій Amazon Linux 2 з кінця 2018 року (див. Коментарі), тепер ви можете безпосередньо встановити його через yum install python3.

В Amazon Linux 2 , не існує python3[4-6]в YUM по замовчуванням РЕПО с, а там це Amazon Extras бібліотека .

sudo amazon-linux-extras install python3

Якщо ви хочете створити з ним ізольовані віртуальні середовища; використання інструментів yum installd virtualenv, здається, не працює надійно.

virtualenv --python=python3 my_venv

Виклик модуля / інструменту venv менш вибагливий, і ви можете попередньо перевірити, що ви хочете / очікуєте python3 --versionзаздалегідь.

python3 -m venv my_venv

Інші речі, які він може встановити (версії станом на 18 січня 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 ]

"Тема python3 має дату закінчення підтримки 2018-08-22" це більше не підтримується
zenbeni

@zenbeni чи типова система Python натрапила на Python 3?
Нік Т

@NickT python3-3.7.2-4.amzn2.0.1.x86_64 фактично встановлений через "yum install python3", ви більше не використовуєте додатки Amazon Linux для python
zenbeni

Я м'яко збентежений, чому це продовжує отримувати надходження (4 за останній місяць), якщо він зараз застарів.
Нік Т

40

Ось кроки, якими я користувався, щоб встановити python3 вручну для всіх, хто хоче це зробити, оскільки це не дуже прямо вперед. EDIT: Практично напевно простіше використовувати менеджер пакунків yum (див. Інші відповіді).

Зауважте, ви, ймовірно, захочете зробити це sudo yum groupinstall 'Development Tools'перед тим, як зробити це, інакше файл не встановиться.

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
Для використання pip3також зв’яжіть його sudo ln -s /opt/python3/bin/pip3 /usr/bin/pip3.
golmschenk

@xpmatteo - який біт не так? Це лише крок чи підхід, проти якого ви заперечуєте?
Jake_Howard

@Jake_Howard Неправда, єдиний спосіб - це встановити Python3 вручну. Це, безумовно, варіант, але ви також можете зробити так, yum install python35як згадували інші. Якщо ви люб’язно зміните свою відповідь, я зніму свій нижчий запис :)
xpmatteo

@xpmatteo - переформулюйте відповідь, щоб видалити неправильну фразу. Для нащадків: під час задавання питання та публікації оригінальної відповіді мені не було відомо про можливість використання yum із конкретною версією python3 (див. Інші відповіді), або ці пакети були недоступні на час оригінальне написання.
Jake_Howard

Працювали для мене! Цього дня ви можете використовувати 3.7.2 замість 3.4.2
Al Po

24

EC2 (на Amazon Linux AMI) на даний момент підтримує python3.4 та python3.5.

sudo yum install python35
sudo yum install python35-pip

Реквізит для цієї відповіді! Python3 python3за замовчуванням не є екземплярами AWS. Дуже прикро для обміну між Ubuntu та AWS Linux під час роботи!
Адам Посилання

20

Станом на версію Amazon Linux 2017.09 python 3.6 тепер доступний:

sudo yum install python36 python36-virtualenv python36-pip

Додаткову інформацію та інші пакунки див. У примітках до випуску


12
pip3 не пов'язаний, тому якщо ви хочете його використовувати, sudo ln -s /usr/bin/pip-3.6 / usr / bin / pip3
ski_squaw

4

Amazon Linux тепер підтримує python36.

python36-pip недоступний. Тому потрібно слідувати іншим маршрутом.

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

Це найпростіший спосіб, який працює у 2020 році серед усіх інших.
russellthehippo

4

Як заявив @NickT, в Amazon Linux 2 за замовчуванням немає python3 [4-6] , на сьогоднішній день він використовує 3,7 і, дивлячись на всі відповіді тут, ми можемо сказати, що це буде змінено з часом.

Я шукав python3.6 на Amazon Linux 2, але amazon-linux-extrasпоказує багато варіантів, але python взагалі немає. насправді ви можете спробувати знайти версію, яку ви знаєте в epelрепо:

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

На жаль, єдиною версією, яку він зараз демонструє, є python34.x86_64, вони, мабуть, видалили python36.x86_64, що дуже дратує.
dragon788

1

Додаючи до всіх відповідей, вже доступних на це питання, я хотів би додати кроки, які я дотримувався, щоб встановити Python3 на екземпляр AWS EC2 під управлінням CentOS 7. Ви можете знайти всі деталі за цим посиланням.

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

По-перше, нам потрібно включити SCL. SCL - проект спільноти, який дозволяє створювати, встановлювати та використовувати декілька версій програмного забезпечення в одній системі, не впливаючи на системні пакети за замовчуванням.

sudo yum install centos-release-scl

Тепер, коли у нас є сховище SCL, ми можемо встановити python3

sudo yum install rh-python36

Для доступу до Python 3.6 вам потрібно запустити новий екземпляр оболонки за допомогою інструмента scl Software Collection:

scl enable rh-python36 bash

Якщо ви перевірите версію Python, ви помітите, що Python 3.6 - це версія за замовчуванням

python --version

Важливо зазначити, що Python 3.6 є типовою версією Python лише в цьому сеансі оболонки. Якщо ви вийдете з сеансу або відкриєте новий сеанс з іншого терміналу, Python 2.7 стане типовою версією Python.

Тепер встановіть інструменти розробки python, ввівши:

sudo yum groupinstall Development Tools

Тепер створіть віртуальне середовище, щоб пакети python за замовчуванням не заплутувалися.

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

Щоб використовувати це віртуальне середовище,

source my_project_venv/bin/activate

Тепер у вас встановлено віртуальне середовище з python3.


0

Для похідних Debian, таких як Ubuntu, використовуйте apt. Перевірте підходящий сховище щодо наявних у вас версій Python. Потім запустіть команду, аналогічну наведеній нижче, замінивши правильну назву пакета:

sudo apt-get install python3

На Red Hat та похідних використовуйте yum. Перевірте сховище yum щодо наявних у вас версій Python. Потім запустіть команду, аналогічну наведеній нижче, замінивши правильну назву пакета:

sudo yum install python36

Для SUSE та похідних використовуйте блискавку. Перевірте сховище щодо наявних у вас версій Python. Тоді. запустіть команду, аналогічну наведеній нижче, замінивши правильну назву пакета:

sudo zypper install python3

-1

Ось одна команда встановити python3 на екземплярі Amazon linux ec2:

$ sudo yum встановити python3 -y

$ python3 - конверсія

Пітон 3.7.6

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.