Как установить 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.