Come posso aggiornare Python alla 2.7.9 su Ubuntu 14.4?


32

Ubuntu 14.4 viene fornito con Python 2.7.6 integrato, ma vorrei aggiornarlo a 2.7.9 (ha funzionalità di sicurezza che desidero).

È anche possibile? In tal caso, come può essere raggiunto?


2
La versione upstream di Python 2.7 sarà sempre 2.7.6. Controllare il numero di versione della distribuzione, quindi controllare il log delle modifiche ( pacchetti.ubuntu.com/source/trusty/python2.7 ) per vedere se quegli aggiornamenti di sicurezza sono stati portati in backport.
Roger Sherman,

Risposte:


16

Puoi usare pyenv:

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

Quindi aggiungi

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

su .bash_profile puoi vedere la versione di Python che vuoi installare o aggiornare:

pyenv install --list

vuoi Python 2.7.10? Puoi provare:

 pyenv virtualenv 2.7.10

Spero che ti possa aiutare.


Per Ubuntu, quel blocco funziona meglio in ~ / .bashrc piuttosto che ~ / .bash_profile. Quindi esegui "$ SHELL".
brendan,

31

ppa: fkrull / deadsnakes è l'ultima versione di python2.7

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

Aggiornerà Python alla 2.7.10


1
provato nelle macchine di sviluppo (tutti i desktop 14.04), ottima alternativa.
Yonsy Solis,

Ma ho scoperto che non era compatibile con la mia app.
Come il

4
Attenzione che fare affidamento su un pacchetto non ufficiale e / o un PPA, specialmente per qualcosa di fondamentale come Python in Ubuntu, aggira importanti processi di sicurezza e può portare a molti problemi. Alcuni pacchetti dipendono esplicitamente dai pacchetti o versioni ufficiali. Invece, potresti voler usare un virtualenv con una versione più recente di python solo per le app di cui hai bisogno. Vedi anche Aggiornamento a Python 2.7.9 su Ubuntu 14.04 LTS e crea il tuo pacchetto .deb per la distribuzione - Renoir Boulanger
nealmcb,

Buono. Hai ragione. Ho rinunciato al mio approccio diversi mesi fa.
Come il

3
Questo aggiornerà tutti i tuoi pacchetti.
mpen

10

Non sono un fan delle risposte precedenti che suggeriscono l'installazione da vari PPA. Non ho mancato di rispetto, ma non conosco le persone che le hanno costruite e non ho idea di cosa ci possa essere. In qualsiasi ambiente in cui qualcuno deve rispondere a un professionista della sicurezza che la pratica sarebbe disapprovata.

Ho appena scoperto che scaricare 2.7.9 dal sorgente e installarlo fianco a fianco è stato un buon inizio. Questo fantastico post sul blog ha coperto i passaggi. (ricreato qui per conformarsi alle linee guida di overflow dello stack)

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

Verifica se la versione funziona

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

Ora che ho installato 2.7.9, posso chiamarlo direttamente o link simbolico da dove voglio. (o copiarlo in un virtualenv ecc.)

E nota che sono arrivato qui da una situazione in cui ricevevo avvisi di piattaforma non sicuri e avvisi SNI mancanti. Che mi ha portato qui . Immagino che molte persone stiano trovando questa domanda attraverso lo stesso percorso. E se è per questo che sei qui, questo frammento potrebbe essere utile anche a te

pip install urllib3[secure]

Questa è in realtà la risposta migliore, soprattutto se stai già utilizzando virtualenv. Il motivo per cui ritengo che sia meglio, è che non si basa su applicazioni o repository di terze parti che potrebbero danneggiare qualcos'altro.
Andre,

3

Ecco il nuovo repository di terze parti aggiornato:

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

2

Puoi andare su python.org e scaricare il file .tar.gz compilare e installarlo. Avrai bisogno degli strumenti di base per compilare il codice sorgente. Non ricordo se il pacchetto "build-essential" sarà sufficiente, ma provalo.


2

La versione che desideri è già in Ubuntu, in Vivid (pre) release. Se sei coraggioso, puoi mescolare le versioni e installare la versione di Python di Vivid sotto Trusty. Di seguito è una soluzione generica che funziona su alcuni pacchetti, non posso garantirlo con Python. Le probabilità sono ~ 50/50 di riuscire. Se tuttavia trovi un repository di backport adeguato per 14.04 con la versione del pacchetto richiesta, allora dovrebbe essere una scelta migliore.

  1. Hai una "... linea principale fidata" nella tua /etc/apt/sources.list, copiarla due volte, cambiando "fidata" in "utopica" e "vivida".

  2. Corri apt-get updatee poi apt-get -t vivid install python2.7. Rivedere le dipendenze installate prima di procedere. Annullare l'aggiornamento quando si sospetta un danno al sistema (pacchetti importanti eliminati, ecc.).

  3. Rimuovi o hash le due linee da /etc/apt/sources.list.

Non farlo mai su macchine di produzione. Eseguire un backup del sistema operativo e preparare il supporto di avvio per ripristinarlo, se necessario. Aspettati problemi con gli aggiornamenti. Sei stato avvisato.

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.