Atualizando para o python 3.2

22

Eu quero usar novas funções que fornecem o lrucache. Atualmente, estou usando o python 2.6, que não suporta isso,

Qual é a melhor maneira de atualizar para o python 3.2? ou existe alguma outra maneira que eu possa usar o itertools + functools da versão 3.2 na distribuição python 2.6

Obrigado

aprendiz
fonte
Talvez esta receita seja útil?
JanC

Respostas:

24

Como muitos programas e bibliotecas dependem do Python 2.6 (ou python 2.7 no 11.04), e como o python 2.xe 3.x são incompatíveis, não é possível atualizar - você só pode instalar o python3 ao lado do python 2.6:

Python 3.1

  • Felizmente, a versão estável do Python 3 (3.1.2 no momento em que escrevemos isso) é fornecida nos repositórios. Basta instalar o pacote python3-all  .

    Seu intérprete será em /usr/bin/python3vez de /usr/bin/python.

    Agora você também pode digitar python3seu terminal quando quiser iniciar o Py3 em vez do Py2.


Python 3.2

  • Você pode fazer o download de qualquer versão dos fontes python do python.org e executar

    ./configure
    make
    sudo make altinstall

    Para poder compilar a fonte python, você precisará de alguns pacotes:

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

    A opção altinstall instalará a outra versão do python ao lado das existentes:

    Faz sentido, em vez de baixar os fontes, verificar a versão mais recente do desenvolvimento do repositório python dev de vez em quando:

    svn checkout http://svn.python.org/projects/python/branches/py3k

    Isso fornecerá a versão mais recente e instável do desenvolvimento. você pode cd py3k/executar o procedimento de compilação acima.

    Para isso, é necessário instalar o svn  , é claro.

Stefano Palazzo
fonte
1
Esta resposta é ótima, votei com agrado, mas gostaria de mais profundidade. Posso invocar o novo Python como 'python3.2', o que é bom, mas posso configurar as coisas para que meus programas pessoais usem essa versão por padrão (por exemplo, obtenha python3.2 como o primeiro 'python' no PATH) enquanto o sistema continua usando o python2.6 com segurança? Eu pergunto não porque eu não gosto de digitar 'python3.2', mas porque alguns
Jonathan Hartley
1
@Tartley Seu comentário foi cortado por lá, por que você quer fazer isso?
Stefano Palazzo
1
(opa, obrigado.) ... mas porque algumas ferramentas possuem, por exemplo, scripts bash, que invocam seus componentes Python usando 'python xxx.py' e são executados apenas no Python 3.2. Então, eu quero criar um ambiente (na verdade, eu quero que seja o meu ambiente pessoal padrão) no qual o Python 3.2 (e todos os seus scripts, ferramentas etc.) seja o primeiro no caminho, deixando o sistema Python 2.6 para o sistema usar (na verdade, de preferência, eu gostaria de tirar isso do meu caminho pessoal apenas para garantir que não haja confusão sobre qual Python Eu estou correndo)
Jonathan Hartley