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


124

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

sudo yum install python3

не работает:

No package python3 available.

Я искал в Google и не могу найти никого, у кого есть эта проблема, поэтому я спрашиваю здесь. Нужно ли мне вручную загружать и устанавливать его?


1
Возможно, да, он еще может быть недоступен для Amazon Linux (или уточнить, используете ли вы другую ОС).
Симеон Виссер

возможный дубликат установки python3 на RHEL
BMW

Привет, да, это «стандартная» ОС Amazon Linux. Рад установить вручную, но кое-чего не хватает (и я подумал, что лучше проверить, прежде чем тратить время на
возню

@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
Эммануэль Н.К.,

54

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

В Amazon Linux 2 , не существует python3[4-6]в YUM по умолчанию РЕПО с, а там это Amazon Extras библиотека .

sudo amazon-linux-extras install python3

Если вы хотите настроить с его помощью изолированные виртуальные среды; использование инструментов yum install'd 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 имеет дату окончания поддержки 22.08.2018», это больше не поддерживается
zenbeni

@zenbeni, а Python 3 был переведен на Python 3?
Nick T

@NickT python3-3.7.2-4.amzn2.0.1.x86_64 фактически устанавливается с помощью 'yum install python3', вы больше не используете дополнения amazon linux для python
zenbeni

Я слегка сбит с толку, почему он продолжает получать голоса за (4 за последний месяц), если теперь он устарел.
Nick T

40

Вот шаги, которые я использовал для ручной установки python3 для всех, кто хочет это сделать, поскольку это не очень просто. РЕДАКТИРОВАТЬ: почти наверняка проще использовать менеджер пакетов yum (см. Другие ответы).

Обратите внимание: вы, вероятно, захотите сделать это sudo yum groupinstall 'Development Tools'перед тем, как сделать это, иначе pip не будет установлен.

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

Сработало у меня! В
Аль По

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 02

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, в репозиториях yum по умолчанию в 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, вам необходимо запустить новый экземпляр оболочки с помощью инструмента Software Collection scl:

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. Проверьте репозиторий apt на наличие доступных вам версий Python. Затем запустите команду, подобную следующей, подставив правильное имя пакета:

sudo apt-get install python3

В Red Hat и производных используйте yum. Проверьте репозиторий yum на наличие доступных вам версий Python. Затем запустите команду, подобную следующей, подставив правильное имя пакета:

sudo yum install python36

В SUSE и производных используйте zypper. Проверьте репозиторий на наличие доступных вам версий Python. Затем. запустите команду, подобную следующей, подставив правильное имя пакета:

sudo zypper install python3

-1

Вот одна из команд для установки python3 на экземпляр Amazon linux ec2:

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

$ python3 --version

Python 3.7.6

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.