Aggiornamento a Python 3.2


22

Voglio usare nuovi functools che forniscono lrucache, sto attualmente usando Python 2.6, che non supporta questo,

Qual è il modo migliore per eseguire l'aggiornamento a Python 3.2? o c'è un altro modo in cui posso usare gli itertools + functools della versione 3.2 nella distribuzione di python 2.6

Grazie


Forse questa ricetta è utile?
JanC

Risposte:


24

Poiché molti programmi e librerie si basano su Python 2.6 (o python 2.7 in 11.04) e poiché python 2.xe 3.x sono incompatibili, non è possibile eseguire l'aggiornamento: è possibile installare solo python3 insieme a python 2.6:

Python 3.1

  • Fortunatamente, la versione stabile di Python 3 (3.1.2 al momento della stesura di questo) è fornita nei repository. Installa il pacchetto python3-all  .

    Il tuo interprete sarà /usr/bin/python3invece di /usr/bin/python.

    Ora puoi anche digitare il python3tuo terminale quando vuoi avviare Py3 invece di Py2.


Python 3.2

  • Puoi scaricare qualsiasi versione dei sorgenti di Python da python.org ed eseguire

    ./configure
    make
    sudo make altinstall

    Per poter compilare l'origine python, avrai bisogno di alcuni pacchetti:

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

    L'opzione altinstall installerà l'altra versione di Python insieme a quelle esistenti:

    Ha senso, invece di scaricare i sorgenti, controllare ogni tanto l'ultima versione di sviluppo dal repository di sviluppatori Python:

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

    Questo ti darà l'ultima versione di sviluppo, instabile. è quindi possibile cd py3k/ed eseguire la procedura di compilazione sopra riportata.

    Per questo, svn  deve essere installato ovviamente.


1
Questa risposta è fantastica, ho votato a fondo, ma vorrei maggiore profondità. Posso invocare il nuovo Python come 'python3.2', il che va bene, ma posso impostare le cose in modo che i miei programmi personali utilizzino questa versione per impostazione predefinita (ad esempio ottenere python3.2 come il primo 'python' sul PERCORSO) mentre il sistema continua a utilizzare python2.6 in sicurezza? Non chiedo perché non mi piace digitare 'python3.2', ma perché alcuni
Jonathan Hartley,

1
@Tartley Il tuo commento è stato tagliato lì, perché vuoi farlo?
Stefano Palazzo

1
(oops, grazie.) ... ma perché alcuni strumenti hanno ad esempio script bash, che invocano i loro componenti Python usando 'python xxx.py', e funzionano solo con Python 3.2. Quindi voglio creare un ambiente (anzi, voglio che sia il mio ambiente predefinito personale) in cui Python 3.2 (e tutti i suoi script, strumenti, ecc.) Sia il primo nel percorso, lasciando il sistema Python 2.6 per il sistema a uso (anzi, preferibilmente, mi piacerebbe toglierlo dal mio percorso personale solo per garantire nessuna confusione su quale Python sto correndo)
Jonathan Hartley
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.