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.