Mise à niveau vers python 3.2

22

Je veux utiliser de nouveaux functools fournis avec le lrucache, j'utilise actuellement python 2.6, qui ne le supporte pas,

Quelle est la meilleure façon de mettre à niveau vers python 3.2? ou existe-t-il un autre moyen d'utiliser la version itertools + functools de la version 3.2 dans la distribution python 2.6

Merci

apprenant
la source
Peut - être que cette recette est utile?
JanC

Réponses:

24

Étant donné que de nombreux programmes et bibliothèques reposent sur Python 2.6 (ou python 2.7 dans 11.04) et que python 2.x et 3.x sont incompatibles, vous ne pouvez pas mettre à niveau - vous pouvez uniquement installer python3 avec python 2.6:

Python 3.1

  • Heureusement, la version stable de Python 3 (3.1.2 au moment de la rédaction de ce document) est fournie dans les référentiels. Installez simplement le paquet python3-all  .

    Votre interprète sera à la /usr/bin/python3place de /usr/bin/python.

    Vous pouvez également maintenant saisir python3votre terminal lorsque vous souhaitez lancer Py3 au lieu de Py2.


Python 3.2

  • Vous pouvez télécharger n'importe quelle version des sources python depuis python.org et exécuter

    ./configure
    make
    sudo make altinstall

    Pour pouvoir compiler la source python, vous aurez besoin de quelques packages:

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

    L'option altinstall installera l'autre version de python à côté de celles existantes:

    Au lieu de télécharger les sources, il est logique de consulter de temps en temps la dernière version de développement du référentiel de développement python:

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

    Cela vous donnera la toute dernière version de développement, instable. vous pouvez alors cd py3k/et faire la procédure de compilation ci-dessus.

    Pour cela, svn  doit bien sûr être installé.

Stefano Palazzo
la source
1
Cette réponse est excellente, j'ai voté positivement, mais j'aimerais plus de profondeur. Je peux invoquer le nouveau Python en tant que 'python3.2', ce qui est bien, mais puis-je configurer les choses pour que mes programmes personnels utilisent cette version par défaut (par exemple obtenir python3.2 comme premier 'python' sur le CHEMIN) alors que le système continue à utiliser python2.6 en toute sécurité? Je ne demande pas parce que je n'aime pas taper 'python3.2', mais parce que certains
Jonathan Hartley
1
@Tartley Votre commentaire a été interrompu, pourquoi voulez-vous le faire?
Stefano Palazzo
1
(oups, merci.) ... mais parce que certains outils ont par exemple des scripts bash, qui appellent leurs composants Python en utilisant 'python xxx.py', et ils ne fonctionnent que sous Python 3.2. Je veux donc créer un environnement (en effet, je veux que ce soit mon environnement personnel par défaut) dans lequel Python 3.2 (et tous ses scripts, outils, etc.) est le premier sur le chemin, tout en laissant le système Python 2.6 pour que le système utiliser (en effet, de préférence, j'aimerais retirer cela de mon chemin personnel juste pour éviter toute confusion sur le Python que je cours)
Jonathan Hartley