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


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.


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
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.