Wie kann ich Python auf Ubuntu 14.4 auf 2.7.9 upgraden?


32

Ubuntu 14.4 wird mit Python 2.7.6 geliefert, aber ich würde es gerne auf 2.7.9 upgraden (es hat Sicherheitsfunktionen, die ich haben möchte).

Ist das überhaupt möglich? Wenn ja, wie kann dies erreicht werden?


2
Die Upstream-Version von Python 2.7 wird immer 2.7.6 sein. Überprüfen Sie die Versionsnummer der Distribution und anschließend das Änderungsprotokoll ( packages.ubuntu.com/source/trusty/python2.7 ), um festzustellen , ob diese Sicherheitsupdates zurückportiert wurden.
Roger Sherman

Antworten:


16

Sie können pyenv verwenden:

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv
 git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

Dann füge hinzu

   #   for PyEnv
  export PYENV_ROOT="$HOME/.pyenv"
  export PATH="$HOME/.pyenv/bin:$PATH"
  export PATH="$HOME/.pyenv/shims:$PATH"
  eval "$(pyenv init -)"

In .bash_profile sehen Sie die Python-Version, die Sie installieren oder aktualisieren möchten:

pyenv install --list

Möchtest du Python 2.7.10? Du kannst es versuchen:

 pyenv virtualenv 2.7.10

Hoffe es kann dir helfen.


Für Ubuntu funktioniert dieser Block in ~ / .bashrc besser als in ~ / .bash_profile. Dann führen Sie "$ SHELL" aus.
Brendan

31

ppa: fkrull / deadsnakes ist die neueste Version von python2.7

sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get upgrade

Es wird Python auf 2.7.10 aktualisieren


1
In Entwicklungsmaschinen (alle 14.04 Desktops) ausprobiert, sehr gute Alternative.
Yonsy Solis

Aber ich fand es nicht kompatibel mit meiner App.
Wie

4
Beachten Sie, dass das Verlassen auf ein inoffizielles Paket und / oder eine PPA, insbesondere für etwas so Grundlegendes wie Python in Ubuntu, wichtige Sicherheitsprozesse umgeht und zu vielen Problemen führen kann. Einige Pakete hängen ausdrücklich von den offiziellen Paketen oder Versionen ab. Stattdessen möchten Sie möglicherweise ein virtuelles Env mit einer neueren Version von Python nur für die Apps verwenden, für die Sie es benötigen. Siehe auch Upgrade auf Python 2.7.9 unter Ubuntu 14.04 LTS und erstelle dein eigenes .deb-Paket für die Bereitstellung - Renoir Boulanger
nealmcb

Gut. Du hast recht. Ich habe meinen Ansatz vor einigen Monaten aufgegeben.
Wie

3
Dadurch werden alle Ihre Pakete aktualisiert .
14.

10

Ich bin kein Fan von früheren Antworten, die die Installation von verschiedenen PPAs vorschlagen. Keine Respektlosigkeit beabsichtigt, aber ich kenne nicht die Leute, die sie gebaut haben und ich habe keine Ahnung, was da drin sein könnte. In jeder Umgebung, in der jemand einem Sicherheitsexperten antworten muss, wird diese Praxis missbilligt.

Ich fand gerade, dass das Herunterladen von 2.7.9 aus dem Quellcode und die gleichzeitige Installation ein guter Anfang war. Dieser großartige Blog-Beitrag befasste sich mit den Schritten. (hier neu erstellt, um den Richtlinien für den Stapelüberlauf zu entsprechen)

wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar xfz Python-2.7.9.tgz
cd Python-2.7.9/
./configure --prefix /usr/local/lib/python2.7.9
make
make install

Testen Sie, ob die Version funktioniert

/usr/local/lib/python2.7.9/bin/python -V
Python 2.7.9

Nachdem ich 2.7.9 installiert habe, kann ich es direkt aufrufen oder von jedem beliebigen Ort aus mit einem Symlink verknüpfen. (oder kopiere es in ein virtualenv etc.)

Und beachten Sie, dass ich aus einer Situation hierher gekommen bin, in der ich Warnungen zu unsicheren Plattformen und zu fehlenden SNI-Warnungen erhalten habe. Was mich hierher geführt hat . Ich stelle mir vor, dass viele Menschen diese Frage auf demselben Weg finden. Und wenn das der Grund ist, warum Sie hier sind, kann dieses Snippet auch für Sie von Nutzen sein

pip install urllib3[secure]

Dies ist eigentlich die bessere Antwort, insbesondere wenn Sie bereits verwenden virtualenv. Der Grund, warum ich das für besser halte, ist, dass es nicht auf Anwendungen oder Repositorys von Drittanbietern angewiesen ist, die etwas anderes beschädigen könnten.
Andre

3

Hier ist ein neues, aktualisiertes Repository von Drittanbietern:

sudo add-apt-repository ppa:jonathonf/python-2.7
sudo apt-get update
sudo apt-get install python2.7
python --version

2

Sie können zu python.org gehen und die .tar.gz-Datei herunterladen, kompilieren und installieren. Sie benötigen die grundlegenden Tools, um den Quellcode zu kompilieren. Ich erinnere mich nicht, ob das "Build-Essential" -Paket ausreichen wird, aber probieren Sie es aus.


2

Die gewünschte Version ist bereits in Ubuntu, in Vivid (Pre) Release. Wenn Sie mutig sind, können Sie Releases mischen und Vivids Version von Python unter Trusty installieren. Im Folgenden finden Sie eine allgemeine Lösung, die für einige Pakete funktioniert. Ich kann für Python keine Garantie übernehmen. Die Chancen stehen gut 50/50, dass es gelingen wird. Wenn Sie jedoch ein geeignetes Backports- Repository für 14.04 mit Ihrer erforderlichen Paketversion finden, sollte es eine bessere Wahl sein.

  1. Sie haben "... vertrauenswürdige Hauptzeile" in Ihrer /etc/apt/sources.list, kopieren Sie sie zweimal und ändern Sie "vertrauenswürdig" in "utopisch" und "lebendig".

  2. Laufen apt-get updateund dann apt-get -t vivid install python2.7. Überprüfen Sie die installierten Abhängigkeiten, bevor Sie fortfahren. Brechen Sie das Upgrade ab, wenn Sie vermuten, dass Ihr System beschädigt ist (wichtige Pakete usw. gelöscht).

  3. Entfernen oder kreuzen Sie die beiden Zeilen von /etc/apt/sources.list.

Mach das niemals auf Produktionsmaschinen. Erstellen Sie eine Sicherungskopie Ihres Betriebssystems und bereiten Sie die Startmedien vor, um sie bei Bedarf wiederherzustellen. Erwarten Sie Probleme bei Upgrades. Du wurdest gewarnt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.