Atualizando para o python 2.7.5 no Ubuntu 12.04

9

O Ubuntu 12.04 vem com python v 2.7.3 por padrão. Eu quero atualizá-lo para v 2.7.5 . Eu tentei as instruções dadas em esta questão ,

sudo apt-get install build-essential
sudo apt-get install libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

cd ~/Downloads/
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz

tar -xvf Python-2.7.5.tgz
cd Python-2.7.5

./configure
make
sudo make altinstall

O último comando falha com o erro:

...
Compiling /usr/local/lib/python2.7/xmlrpclib.py ...
Compiling /usr/local/lib/python2.7/zipfile.py ...
make: *** [libinstall] Error 1

Como posso fazer essa atualização?

    
por Gabriel 15.08.2013 / 22:44

1 resposta

13

A instalação a partir do código-fonte pode ser feita, é claro, mas eu estaria hesitante em atualizar o pacote python dos meus sistemas Ubuntu a partir da fonte por várias razões:

  1. Fazer isso pode quebrar o sistema fazendo uma compilação direta a partir do código-fonte (não sei exatamente como o Ubuntu personaliza as compilações de pacotes do Python).

  2. Eu ficaria preocupado que possam ser problemas com o uso de módulos dos repositórios daqui para frente.

Existe um PPA que parece ativo (o trem 2.7.x foi construído pela última vez em abril deste ano ), mas o PPA ainda não tem uma versão 2.7.5. Você pode querer fazer ping no mantenedor e ver quais são seus planos para compilações futuras e se eles incluirão um para 2.7.5. Se possível, eu recomendaria isso ao instalar a partir da origem. Como acontece com qualquer novo software, eu recomendaria a criação de um sistema de teste primeiro.

Outra opção é usar um sandbox ( pyenv ) para executar qualquer novo pacote de software não testado. Uma instalação direta no sistema pode afetar negativamente a operação da sua máquina.

O pacote pyenv permitirá a instalação de uma versão Python que não seja do sistema em sua caixa sem afetar o pacote principal do Python instalado sua máquina (Novamente: seu sistema depende da versão atualmente instalada do Python e sua atualização pode quebrar seu sistema). Anteriormente, o Pythonbrew era recomendado para isolar pacotes python do sistema, mas que desde então foi substituído e substituído pelo pacote pyenv .

O pacote pyenv fornece a seguinte funcionalidade:

  • Permite alterar a versão global do Python por usuário.
  • Fornece suporte para versões do Python por projeto.
  • Permite que você substitua a versão do Python por uma variável de ambiente.
  • Pesquise comandos de várias versões do Python por vez.

Instalação

  1. Confira o pyenv em ~ / .pyenv.

    git clone git://github.com/yyuu/pyenv.git .pyenv
    
  2. Adicione ~ / .pyenv / bin ao seu $ PATH para acessar o utilitário de linha de comando pyenv.

    echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile
    

    Nota: altere seu arquivo ~/.zshenv em vez de ~/.bash_profile .

  3. Adicione o pyenv init ao seu shell para ativar correções e preenchimento automático.

    echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
    

    Nota: altere seu arquivo ~/.zshenv em vez de ~/.bash_profile .

  4. Reinicie seu shell para que as alterações de caminho entrem em vigor. Agora você pode começar a usar pyenv.

    exec $SHELL
    
  5. Instale as versões do Python em ~ / .pyenv / versions. Por exemplo, para instalar o Python 2.7.5, baixe e descompacte a fonte e execute:

    pyenv install 2.7.5
    

    OBSERVAÇÃO Se você precisar passar opções de configuração para criar a partir do código-fonte, use a variável de ambiente CONFIGURE_OPTS.

  6. Reconstrua os binários de correção. Você deve fazer isso sempre que instalar um novo binário Python (por exemplo, ao instalar uma nova versão do Python ou ao instalar um pacote que forneça um binário).

    pyenv rehash
    
por Kevin Bowen 15.08.2013 / 22:56