Como posso atualizar o Python para 2.7.9 no Ubuntu 14.4?


32

O Ubuntu 14.4 vem com o Python 2.7.6 embutido, mas eu gostaria de atualizá-lo para 2.7.9 (ele possui recursos de segurança que eu quero).

É mesmo possível? Se sim, como isso pode ser alcançado?


2
A versão upstream do python 2.7 sempre será 2.7.6. Verifique o número da versão da distribuição e, em seguida, verifique o changelog ( packages.ubuntu.com/source/trusty/python2.7 ) para ver se essas atualizações de segurança foram suportadas.
Roger Sherman

Respostas:


16

Você pode usar pyenv:

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

Então adicione

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

para .bash_profile, você poderá ver a versão python que deseja instalar ou atualizar:

pyenv install --list

quer python 2.7.10? podes tentar:

 pyenv virtualenv 2.7.10

Espero que isso possa ajudar-lhe.


Para o Ubuntu, esse bloco funciona melhor em ~ / .bashrc, em vez de ~ / .bash_profile. Então execute exec "$ SHELL".
Brendan

31

ppa: fkrull / deadsnakes é a versão mais recente do python2.7

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

Ele atualizará o python para 2.7.10


1
experimentado em máquinas de desenvolvimento (todos os 14.04 desktops), alternativa muito boa.
Yonsy Solis 28/09/2015

Mas achei que não era compatível com meu aplicativo.
Como

4
Cuidado com o fato de que contar com um pacote não oficial e / ou um PPA, especialmente para algo tão fundamental quanto o Python no Ubuntu, ignora importantes processos de segurança e pode levar a muitos problemas. Alguns pacotes dependem explicitamente dos pacotes ou versões oficiais. Em vez disso, convém usar um virtualenv com uma versão mais recente do python para apenas os aplicativos que você precisa. Consulte também Atualize para o Python 2.7.9 no Ubuntu 14.04 LTS e faça seu próprio pacote .deb para implantação - Renoir Boulanger
nealmcb 29/16/16

Boa. Você está certo. Eu desisti da minha abordagem há vários meses.
Como

3
Isso atualizará todos os seus pacotes.
Mpr

10

Não sou fã de respostas anteriores que sugerem a instalação de vários PPAs. Sem desrespeito, mas não conheço as pessoas que os construíram e não tenho ideia do que possa estar lá. Em qualquer ambiente em que alguém precise responder a um profissional de segurança, essa prática seria desaprovada.

Acabei de descobrir que baixar o 2.7.9 da fonte e instalá-lo lado a lado foi um bom começo. Esta postagem de blog incrível cobriu as etapas. (recriado aqui para estar em conformidade com as diretrizes de estouro de pilha)

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

Teste se a versão funciona

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

Agora que tenho o 2.7.9 instalado, posso chamá-lo diretamente ou fazer o link simbólico de onde quiser. (ou copie-o para um virtualenv etc.)

E observe que cheguei aqui de uma situação em que estava recebendo avisos inseguros da plataforma e avisos SNI ausentes. O que me levou aqui . Eu imagino que muitas pessoas estão encontrando essa pergunta pelo mesmo caminho. E se é por isso que você está aqui, este trecho também pode ser útil para você

pip install urllib3[secure]

Esta é realmente a melhor resposta, especialmente se você já estiver usando virtualenv. Razão pela qual sinto que isso é melhor, é que ele não depende de aplicativos ou repositórios de terceiros que possam quebrar outra coisa.
Andre

3

Aqui está o novo repositório de terceiros atualizado:

sudo add-apt-repository ppa:jonathonf/python-2.7
sudo apt-get update
sudo apt-get install python2.7
python --version

2

Você pode acessar o python.org, baixar o arquivo .tar.gz, compilar e instalá-lo. Você precisará das ferramentas básicas para compilar o código fonte. Não me lembro se o pacote "build-essential" será suficiente, mas tente.


2

A versão que você deseja já está no Ubuntu, na versão Vivid (pré). Se você é corajoso, pode misturar lançamentos e instalar a versão do Python do Vivid no Trusty. Abaixo está uma solução genérica que funciona em alguns pacotes, não posso garantir com Python. As chances são de ~ 50/50 de sucesso. Se, no entanto, você encontrar um repositório de backports adequado para o 14.04 com a versão do pacote necessária, deve ser uma escolha melhor.

  1. Você tem a linha '... confiável' principal /etc/apt/sources.list, copie-a duas vezes, alterando 'confiável' para 'utópico' e 'vívido'.

  2. Corra apt-get updatee então apt-get -t vivid install python2.7. Revise as dependências instaladas antes de continuar. Interrompa a atualização quando você suspeitar de algum dano ao seu sistema (pacotes importantes excluídos, etc.).

  3. Remova ou misture as duas linhas de /etc/apt/sources.list.

Nunca faça isso em máquinas de produção. Faça um backup do seu sistema operacional e prepare a mídia de inicialização para restaurá-lo, se necessário. Espere problemas nas atualizações. Voce foi avisado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.