Как я могу обновить Python до 2.7.9 в Ubuntu 14.4?

32

Ubuntu 14.4 поставляется со встроенным Python 2.7.6, но я бы хотел обновить его до 2.7.9 (он имеет функции безопасности, которые мне нужны).

Это вообще возможно? Если да, то как этого достичь?

moomima
источник
2
Восходящая версия Python 2.7 всегда будет 2.7.6. Проверьте номер версии дистрибутива, а затем проверьте журнал изменений ( packages.ubuntu.com/source/trusty/python2.7 ), чтобы узнать, были ли эти обновления безопасности перенесены в бэкпорт.
Роджер Шерман

Ответы:

16

Вы можете использовать pyenv:

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv
 git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

Затем добавьте

   #   for PyEnv
  export PYENV_ROOT="$HOME/.pyenv"
  export PATH="$HOME/.pyenv/bin:$PATH"
  export PATH="$HOME/.pyenv/shims:$PATH"
  eval "$(pyenv init -)"

в .bash_profile, тогда вы можете увидеть версию Python, которую хотите установить или обновить:

pyenv install --list

хотите Python 2.7.10? можешь попробовать:

 pyenv virtualenv 2.7.10

Надеюсь, это поможет вам.

Джереми Анифакк
источник
Для Ubuntu этот блок лучше работает в ~ / .bashrc, чем в ~ / .bash_profile. Затем выполните exec "$ SHELL".
Брендан
31

ppa: fkrull / deadsnakes - это последняя версия python2.7

sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get upgrade

Обновит питон до 2.7.10

подобно
источник
1
пробовал в разработке машины (все рабочие столы 14.04), очень хорошая альтернатива.
Йонси Солис,
Но я обнаружил, что это не совместимо с моим приложением.
Как
4
Помните, что использование неофициального пакета и / или PPA, особенно для чего-то такого фундаментального, как Python в Ubuntu, обходит важные процессы безопасности и может привести ко многим проблемам. Некоторые пакеты явно зависят от официальных пакетов или версий. Вместо этого вы можете использовать virtualenv с более поздней версией python для тех приложений, для которых он вам нужен. См. Также Обновление до Python 2.7.9 в Ubuntu 14.04 LTS и создание собственного пакета .deb для развертывания - Renoir Boulanger
nealmcb
Хорошо. Вы правы. Я отказался от своего подхода несколько месяцев назад.
Как
3
Это обновит все ваши пакеты.
mpen
10

Я не фанат предыдущих ответов, предлагающих установку с различных PPA. Нет никакого неуважения, но я не знаю людей, которые их построили, и я понятия не имею, что там может быть. В любой среде, где кто-то должен ответить специалисту по безопасности, эта практика будет осуждена.

Я только что обнаружил, что загрузка 2.7.9 из источника и установка его параллельно - это хорошее начало. Это удивительное сообщение в блоге покрыло шаги. (воссоздано здесь, чтобы соответствовать рекомендациям по переполнению стека)

wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar xfz Python-2.7.9.tgz
cd Python-2.7.9/
./configure --prefix /usr/local/lib/python2.7.9
make
make install

Проверьте, работает ли версия

/usr/local/lib/python2.7.9/bin/python -V
Python 2.7.9

Теперь, когда у меня установлен 2.7.9, я могу вызывать его напрямую или по ссылке из любой точки мира. (или скопируйте его в virtualenv и т. д.)

И обратите внимание, что я попал сюда из ситуации, когда я получал небезопасные предупреждения о платформе и предупреждения об отсутствии SNI. Что привело меня сюда . Я думаю, что многие люди находят этот вопрос по одному и тому же пути. И если именно поэтому вы здесь, этот фрагмент может быть полезным для вас

pip install urllib3[secure]
jorfus
источник
Это на самом деле лучший ответ, особенно если вы уже используете virtualenv. Причина, по которой я чувствую, что это лучше, заключается в том, что он не зависит от сторонних приложений или репозиториев, которые могут что-то сломать.
Андре
3

Вот новый обновленный сторонний репозиторий:

sudo add-apt-repository ppa:jonathonf/python-2.7
sudo apt-get update
sudo apt-get install python2.7
python --version
arbabnazar
источник
2

Вы можете перейти на python.org и скачать файл .tar.gz, скомпилировать и установить его. Вам понадобятся основные инструменты для компиляции исходного кода. Я не помню, хватит ли пакета "build-essential", но попробуйте.

jaumzors
источник
2

Версия, которую вы хотите, уже есть в Ubuntu, в версии Vivid (pre). Если вы смелы, вы можете смешивать выпуски и устанавливать версию Python от Vivid в Trusty. Ниже приведено общее решение, которое работает с некоторыми пакетами, я не могу гарантировать его на Python. Вероятность успеха - 50/50. Однако, если вы найдете подходящий репозиторий backports для 14.04 с нужной версией пакета, то это должен быть лучший выбор.

  1. У вас есть строка «... trusty main» /etc/apt/sources.list, скопируйте ее дважды, изменив «trusty» на «utopic» и «vivid».

  2. Беги, apt-get updateа потом apt-get -t vivid install python2.7. Перед установкой ознакомьтесь с установленными зависимостями. Прервите обновление, если вы подозреваете, что ваша система повреждена (удалены важные пакеты и т. Д.).

  3. Удалите или хэшируйте две строки из /etc/apt/sources.list.

Никогда не делайте этого на производственных машинах. Сделайте резервную копию вашей ОС и подготовьте загрузочный носитель, чтобы восстановить его при необходимости. Ожидайте проблем с обновлениями. Вы были предупреждены.

sam_pan_mariusz
источник