У меня есть экземпляр EC2, на котором запущен стандартный AMI, и я исчерпал предел своих возможностей с помощью yum и аналогичных способов обновления python до 2.7.4 или 3.3.1 для библиотеки, которую мне нужно использовать.
К сожалению, хотя я могу установить 2.6.X с очень небольшими усилиями, а 2.7.3 - с немного большим, мне кажется, я не могу найти способ получить желаемую версию на этом AMI, за исключением компиляции из исходников.
Это мой единственный маршрут? У меня недостаточно опыта в компиляции пакетов из исходников, чтобы быть уверенным, что все будет сделано правильно.
Кроме того, следует ли мне удалить старые версии Python, которые были добавлены с помощью yum, перед установкой желаемой версии?
Это более обновленный ответ для пользователей AWS EC2 по состоянию на апрель 2015 года:
Начиная с Amazon Linux AMI 2015.03, Python 2.7 или Python 3 по умолчанию напрямую поддерживаются Amazon. Python 2.6, 2.7 и 3.4 могут быть установлены одновременно и управляются alternatives
команда.
Все это четко задокументировано в верхней половине: http://aws.amazon.com/amazon-linux-ami/2015.03-release-notes/
Я был очень рад увидеть предложение включить репозиторий EPEL для Yum.
Кажется, это намного проще, чем целая последовательность: скачать, распаковать, компилировать!
Однако на данный момент Python v.3, похоже, недоступен в репозитории EPEL.
Вот как подвернулось: (http://aws.amazon.com/amazon-linux-ami/faqs/#epel)
«Как мне включить репозиторий Extra Packages for Enterprise Linux (EPEL)?
Измените /etc/yum.repos.d/epel.repo. В разделе с пометкой [epel] измените enabled = 0 на enabled = 1.
Чтобы временно включить репозиторий EPEL 6, используйте параметр командной строки yum --enablerepo = epel.
Обратите внимание, что репозитории Amazon Linux AMI настроены с более высоким приоритетом, чем любые сторонние репозитории. Причина этого в том, что есть несколько пакетов, которые являются частью AMI Amazon Linux, которые также находятся в сторонних репозиториях, и мы хотим убедиться, что версия AMI Amazon Linux установлена по умолчанию. "
что я тут же попробовал с помощью "поиска yum":
$ yum искать все --enablerepo = epel python3
Загруженные плагины: приоритеты, безопасность, update-motd, upgrade-helper amzn-main | 2.1 Кб 00:00 amzn-updates | 2.3 Кб 00:00 эпель / металинк | 12 кБ 00:00 эпель | 4.2 кБ 00:00 epel / primary_db | 6.0 MB 00:02 656 пакетов исключены из-за защиты приоритета репозитория epel / pkgtags | 998 кБ 00:01 =============================================== ====== Соответствует: python3 =========================================== ========== python-apipkg.noarch: Управление пространством имен Python и механизм отложенного импорта python-futures.noarch: Резервное копирование пакета concurrent.futures из Python 3.2 python-unicodenazi.noarch: Модуль, который находит юникод / bytestring сравнения и другие проблемы Загруженные плагины: приоритеты, безопасность, update-motd, upgrade-helper
Замечательная идея, но, как это часто бывает, есть препятствия ...
Параметры:
Скачайте и скомпилируйте из исходников. Не так уж и сложно, тогда просто используйте #! / Usr / local / bin / python или любое другое место, куда вы устанавливаете.
Другой вариант - установить / настроить репозиторий EPEL, содержащий пакеты 2.7 и 3, и просто выполнить установку yum.