web-dev-qa-db-fra.com

Comment utiliser la dernière version 2.7.x de Python "La bonne façon" sur Ubuntu 12.04 LTS?

Mon projet doit rester à jour sur les versions Python, mais 12.04LTS est actuellement bloqué sur la version 2.7.3, même si la version 2.7.5 est sortie. Est-il possible de rester plus à jour sans compiler manuellement? Nous devons rester sur l'installation basée sur les paquets pour Python. Quelle est la "bonne" façon de gérer cela?

Merci!

28
Will

EDIT: * Comme l'a souligné @Anthon dans les commentaires, ce PPA n'inclut pas Python 2.7 pour Ubuntu 12.04 (Precise). Voir la réponse de funky-future ci-dessous , qui, à mon avis, n'existait pas lorsque j'ai initialement répondu.

La méthode "Ubuntu" préférée pour traiter les paquets non inclus dans leur univers par défaut consiste à utiliser un PPA (référentiel tiers), plutôt que de les compiler manuellement. Vous conservez ainsi les avantages de la gestion des packages, des mises à jour et de la résolution des dépendances.

Toutefois, les référentiels tiers ne sont pas officiellement pris en charge ET, si cela fait partie de vos besoins.

DeadPnakes (obtenez-le) PPA gère les versions de Python non incluses dans la gestion des packages du système.

Sudo add-apt-repository ppa:deadsnakes/ppa
Sudo apt-get update
Sudo apt-get install python2.7

Vous pouvez en savoir plus sur ce PPA ici .

Cependant, dans votre cas, cela n'inclut pas Python 2.7, étant donné que DeadSnakes fournit uniquement les versions principales non incluses et non les versions ponctuelles. Comme Ubuntu contient déjà la version 2.7 pour Ubuntu 12.04, DeadSnakes ne le fournira pas.

Il serait peut-être préférable que vous affirmiez que vous ne devriez pas utiliser le packaging natif avec Ubuntu dans ce cas. Voir cet extrait de DeadSnakes;

Using third-party modules packaged for Debian or Ubuntu with the Python
interpreters from this repository is a bit of a mixed bag. For Python 2, Python
modules from the official repositories will not work, as a consequence of how
Python packaging works in Debian. For Python 3 on the other hand, all
pure-Python module packages at least should be available; compiled extension
modules will not work however.

In general, you're better off installing Python modules using the common Python
packaging tools rather than the system package manager. For an introduction into
the Python packaging ecosystem and its tools, refer to;
    http://guide.python-distribute.org/

A few of these tools might also be provided in this repository as a convenience.

Si vous devez absolument utiliser la gestion des packages du système d'exploitation et êtes incapable de passer à une version différente d'Ubuntu avec un package fourni par DeadSnakes, ou en mode natif, vous ne disposez que de deux options, comme je le vois.

  1. Vous pouvez demander un backport de Python 2.7.5 à Ubuntu 12.04.
  2. Vous pouvez créer votre propre PPA avec la version de Python dont vous avez besoin.

note latérale : AskUbuntu est un meilleur StackExchange pour poster des trucs comme celui-ci, que SuperUser en général.

14
krondor

Felix Krull a également maintenu (comme maintenant non maintenu) un PPA avec la dernière version Python 2.7 pour Ubuntu Precise, Trusty et Utopic. Vous pouvez utiliser le même processus que décrit par krondor, mais utilisez à la place ou en plus ce PPA: ppa:fkrull/deadsnakes-python2.7 .

Sudo add-apt-repository ppa:fkrull/deadsnakes-python2.7
Sudo apt-get update
Sudo apt-get install python2.7
36
funky-future