Como usar o Python 2.7.x mais recente "O caminho certo" no Ubuntu 12.04 LTS?

28

Meu projeto precisa se manter atualizado sobre as versões do Python, mas o 12.04LTS está atualmente preso no 2.7.3, mesmo que o 2.7.5 esteja disponível agora. Existe uma maneira de me manter mais atualizado sem compilar manualmente? Somos obrigados a permanecer na instalação baseada em pacote para Python. Qual é a maneira "certa" de lidar com isso?

Obrigado!

Vai
fonte

Respostas:

14

EDIT: * Como o @Anthon apontou nos comentários, este PPA não inclui o Python 2.7 para Ubuntu 12.04 (Precise). Veja a resposta do funky-future abaixo , que não acredito que existisse quando respondi originalmente.

A maneira preferida do "Ubuntu" para lidar com pacotes não incluídos em seu universo por padrão é usar um PPA (repositório de terceiros), em vez de compilar manualmente. Você mantém os benefícios do gerenciamento de pacotes, atualizações e resolução de dependências dessa maneira.

No entanto, os repositórios de terceiros NÃO são oficialmente suportados, se isso fizer parte dos seus requisitos.

O DeadSnakes (obtê-lo) PPA mantém as versões do Python não incluídas no gerenciamento de pacotes do sistema.

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python2.7

Você pode ler mais sobre este PPA aqui .

No entanto, no seu caso, isso não inclui o Python 2.7, pois o DeadSnakes fornece apenas as principais versões não incluídas e não as versões pontuais. Como o Ubuntu já empacota o 2.7 para o Ubuntu 12.04, o DeadSnakes não fornecerá isso.

Pode ser preferível que você defenda que não deve usar o pacote nativo com o Ubuntu nesse caso. Veja este trecho de DeadSnakes;

Using third-party modules packaged for Debian or Ubuntu with the Python
interpreters from this repository is a bit of a mixed bag. For Python 2, Python
modules from the official repositories will not work, as a consequence of how
Python packaging works in Debian. For Python 3 on the other hand, all
pure-Python module packages at least should be available; compiled extension
modules will not work however.

In general, you're better off installing Python modules using the common Python
packaging tools rather than the system package manager. For an introduction into
the Python packaging ecosystem and its tools, refer to;
    http://guide.python-distribute.org/

A few of these tools might also be provided in this repository as a convenience.

Se você é absolutamente obrigado a usar o gerenciamento de pacotes de sistemas operacionais e não consegue mudar para uma versão diferente do Ubuntu com um pacote fornecido pelo DeadSnakes, ou nativamente, você tem apenas duas opções, a meu ver.

  1. Você pode solicitar um backport do Python 2.7.5 para o Ubuntu 12.04.
  2. Você pode criar seu próprio PPA com a versão do Python necessária.

nota lateral : O AskUbuntu é um StackExchange melhor para postar coisas como essa do que o SuperUser em geral.

Krondor
fonte
Perfeito, obrigado! Na sua experiência, o DeadSnakes está bem conservado?
Will
2
Sim, parece ser popular e bem conservado. Eu teria pouca reserva em usá-lo.
precisa saber é o seguinte
1
Ele tem apenas 2.7.4 para 10.04 e não para 12.04
Anthon
1
@ Anton você está correto, eu não percebi isso. DeadSnakes não substituirá uma versão principal, portanto, como o Ubuntu já inclui o Python 2.7, Deadsnakes não fornecerá versões pontuais para essa série. Em vez disso, eles fornecem 3.3 para Precise. Isso não ajudará o OP neste caso.
Krondor
Em 14,04 Eu tive que usar ppa:fkrull/deadsnakes-python2.7(note o sufixo)
Craig Younkins
37

Felix Krull também manteve (como não é mantido agora) um PPA com a versão mais recente do Python 2.7 para Ubuntu Precise, Trusty e Utopic. Você pode usar o mesmo processo como Krondor descreve, mas usar em vez ou adicionalmente este PPA: ppa:fkrull/deadsnakes-python2.7.

sudo add-apt-repository ppa:fkrull/deadsnakes-python2.7
sudo apt-get update
sudo apt-get install python2.7
funky-future
fonte
Essa deve ser a resposta aceita.
precisa saber é o seguinte
1
Ele tem um aviso "descontinuado" agora, mas funciona bem para máquinas que ainda executam versões mais antigas do Ubuntu. O PPA fornece versões 2.7.12-1~precise1, 2.7.12-1~trusty1e 2.7.10-0+utopic1(para 12,04, 14,04 e 14,10).
mivk
5
Observe que o frull / deadsnakes-python2.7 ppa foi descontinuado. Para as versões mais recentes do Python 2.7 (como 2.7.13), tente usar jonathonf / python-2.7 ppa.
socrates
Aviso - Este problemas causados por mim quando distribuições de urbanização (12 -> 14) .. eu fui deixado com uma python realmente morto .. Certifique-se de desfazer esta ppa antes da atualização ..
Dermen
bem, isso é verdade para qualquer atualização de distribuição e ppas.
Funky-future