Как установить Python 3 на экземпляр AWS EC2?
Я пытаюсь установить python 3.x на экземпляр AWS EC2 и:
sudo yum install python3
не работает:
No package python3 available.
Я погуглил и не могу найти никого другого, у кого есть эта проблема, поэтому я спрашиваю здесь. Нужно ли вручную скачивать и устанавливать его?
Ответы
Ответ 1
Если вы делаете
sudo yum list | grep python3
вы увидите, что, хотя у них нет пакета "python3", у них есть пакет "python34" или более поздняя версия, например "python36". Установить его так же просто, как:
sudo yum install python34 python34-pip
Ответ 2
Примечание. Это может быть устаревшим для текущих версий Amazon Linux 2 с конца 2018 года (см. комментарии), теперь вы можете установить его напрямую через yum install python3
.
В Amazon Linux 2 в репозиториях yum по умолчанию нет python3[4-6]
, вместо этого есть Amazon Extras Library.
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):
[[email protected] ~]$ 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 ]
Ответ 3
Вот шаги, которые я использовал для ручной установки python3 для тех, кто хочет это сделать, так как это не супер прямо. РЕДАКТИРОВАТЬ:. Практически легче использовать диспетчер пакетов 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 worked (quit() to exit)
Ответ 4
EC2 (в AMI Amazon Linux) в настоящее время поддерживает python3.4 и python3.5.
sudo yum install python35
sudo yum install python35-pip
Ответ 5
Начиная с версии Amazon Linux 2017.09 python 3.6 теперь доступен:
sudo yum install python36 python36-virtualenv python36-pip
Смотрите примечания к выпуску для получения дополнительной информации и других пакетов
Ответ 6
Как сказал @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
Ответ 7
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
Ответ 8
В дополнение ко всем ответам, уже имеющимся на этот вопрос, я хотел бы добавить шаги, которые я выполнил, чтобы установить 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.
Ответ 9
https://aws.amazon.com/premiumsupport/knowledge-center/ec2-enable-epel/
пожалуйста, ссылка выше ссылка, он поддерживает и работает, я делаю с Centos 7, и это работает также
С уважением
Ответ 10
Следуйте инструкциям здесь: https://gist.github.com/niranjv/f80fc1f488afc49845e2ff3d5df7f83b
Убедитесь, что вы изменили версию Python3 в соответствии с требованиями.
Ответ 11
В производных 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