Wie verwende ich das neueste Python 2.7.x "The Right Way" unter Ubuntu 12.04 LTS?

28

Mein Projekt muss auf Python-Releases auf dem neuesten Stand bleiben, aber 12.04LTS steckt derzeit in 2.7.3 fest, obwohl 2.7.5 derzeit nicht verfügbar ist. Gibt es eine Möglichkeit, ohne manuelles Kompilieren auf dem neuesten Stand zu bleiben? Wir müssen bei der paketbasierten Installation für Python bleiben. Wie gehe ich damit "richtig" um?

Vielen Dank!

Wille
quelle

Antworten:

14

BEARBEITEN : * Wie @Anthon in den Kommentaren ausgeführt hat, enthält diese PPA kein Python 2.7 für Ubuntu 12.04 (Precise). Siehe die Antwort von funky-future unten , von der ich nicht glaube, dass sie existiert hat, als ich ursprünglich geantwortet habe.

Die bevorzugte "Ubuntu" -Methode für den Umgang mit Paketen, die standardmäßig nicht in ihrem Universum enthalten sind, ist die Verwendung eines PPA (Third Party Repository) anstelle der manuellen Kompilierung. Auf diese Weise erhalten Sie die Vorteile von Paketverwaltung, Updates und Abhängigkeitsauflösung.

Die Repositorys von Drittanbietern werden jedoch NICHT offiziell unterstützt, wenn dies Teil Ihrer Anforderung ist.

Die PPA von DeadSnakes (Get it) verwaltet Python-Versionen, die nicht in der Systempaketverwaltung enthalten sind.

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

Weitere Informationen zu dieser PPA finden Sie hier .

In Ihrem Fall ist jedoch Python 2.7 nicht enthalten, da DeadSnakes nur Hauptversionen und keine Point-Releases enthält. Da Ubuntu bereits Pakete 2.7 für Ubuntu 12.04 enthält, wird DeadSnakes dies nicht bereitstellen.

In diesem Fall ist es für Sie möglicherweise vorzuziehen, die native Verpackung nicht mit Ubuntu zu verwenden. Siehe diesen Auszug aus 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.

Wenn Sie unbedingt die Paketverwaltung des Betriebssystems verwenden müssen und nicht in der Lage sind, mit einem von DeadSnakes bereitgestellten Paket oder nativ zu einer anderen Version von Ubuntu zu wechseln, haben Sie meines Erachtens nur noch zwei Optionen.

  1. Sie können einen Backport von Python 2.7.5 auf Ubuntu 12.04 anfordern.
  2. Sie können Ihre eigene PPA mit der von Ihnen benötigten Python-Version erstellen .

Nebenbemerkung : AskUbuntu ist ein besserer StackExchange, in den solche Dinge gepostet werden können, als SuperUser im Allgemeinen.

Krondor
quelle
Perfekt danke! Ist DeadSnakes Ihrer Erfahrung nach gut gewartet?
Will
2
Ja, es scheint populär und gut gepflegt zu sein. Ich hätte wenig Vorbehalt, es zu benutzen.
Krondor
1
Es hat nur 2.7.4 für 10.04 nicht für 12.04
Anthon
1
@Anthon du bist richtig, ich habe das nicht bemerkt. DeadSnakes wird keine Hauptversion ersetzen. Da Ubuntu bereits Python 2.7 enthält, bietet Deadsnakes keine Einzelversionen für diese Serie an. Sie liefern vielmehr 3.3 für Precise. Dies wird dem OP in diesem Fall nicht helfen.
Krondor
Am 14.04 musste ich ppa:fkrull/deadsnakes-python2.7(Suffix beachten)
Craig Younkins
37

Felix Krull unterhielt auch (wie bisher nicht unterhalten) eine PPA mit der neuesten Python 2.7-Version für Ubuntu Precise, Trusty und Utopic. Sie können das gleiche Verfahren verwenden wie Krondor beschreibt, sondern verwenden Sie stattdessen oder Additionaly diese 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
Funky-Zukunft
quelle
Dies sollte die akzeptierte Antwort sein.
cr8ivecodesmith
1
Es gibt jetzt eine "Discontinued" -Warnung, funktioniert aber gut für Maschinen, auf denen noch ältere Ubuntu-Versionen laufen. Die PPA bietet Versionen 2.7.12-1~precise1, 2.7.12-1~trusty1und 2.7.10-0+utopic1(für 12.04, 14.04 und 14.10).
Mivk
5
Beachte nur, dass frull / deadsnakes-python2.7 ppa eingestellt ist. Verwenden Sie für die neuesten Python 2.7-Versionen (wie 2.7.13) jonathonf / python-2.7 ppa.
Sokrates
Warnung - diese Probleme für mich verursacht , wenn Upgrade - Distributionen (12 -> 14) .. ich mit einem wirklich tot Python verlassen wurde .. sicher sein , diese ppa vor dem Upgrade rückgängig zu machen ..
Dermen
Nun, das gilt für alle Distributionsupdates und ppas.
Funky-Future