Come installare l'ultima versione di Python su Debian separatamente o aggiornare?


35

Sono ancora nuovo di Linux, quindi sto ancora cercando di capire dove siano gli eseguibili e le loro librerie e come installare i pacchetti, quindi ho Debian Wheezy 7.3 che ha queste versioni di Python:

  • Python 2.7.3 (impostazione predefinita)
  • Python 2.6.8

Quindi nella directory /usr/bin/ci sono questi file che posso chiamare dal terminale:

  • python (che è un collegamento a python2.7)
  • python2 (anche un collegamento a python2.7)
  • python2.6 (eseguibile Python 2.6.8)
  • python2.7 (eseguibile Python 2.7.3)

e in /usr/lib/, le cartelle principali:

  • python2.6
  • python2.7

Attualmente l'ultima versione di Python è la 2.7.6 che voglio installare, ma non so come, ho provato ad usare apt-get:

apt-get install python

esce python is already the newest version..

Quindi, come posso installare l'ultima versione di Python? sulla pagina di download di Python c'è il tarball di origine, come posso usarlo per installarlo separatamente come avere un'altra cartella /usr/lib/simile python2.7.6e rendere il pythoncollegamento in /usr/bin/riferimento al nuovo eseguibile, o forse aggiornare la versione corrente se non si rompe nulla .


È possibile eseguire il backport di Python 2.7.6 da testing / unstable e sostituire il proprio Curent 2.7.3 con esso. Molto probabilmente questo non ti causerà alcun problema. In tal caso, puoi facilmente tornare indietro.
Faheem Mitha,

Non l'ho nemmeno installato, nuova installazione di Debian e digitare "python" dalla riga di comando e sono nella shell python3.
frozenjim

Risposte:


16

Probabilmente stai cercando virtualenvo pyenvo qualche altro metodo non a livello di sistema per installare Python. Il metodo che utilizza APT (Advance Package Tool) e dpkg, assicura che tutte le parti del sistema funzionino in armonia, quindi potresti voler installare Python in un percorso separato, nascosto da tutti gli altri programmi che puoi chiamare a piacimento, che è lo scopo di pyenv/ virtualenv. Questo risponde come installare l'ultima versione di Python senza rompere il sistema .

A proposito, puoi dare un'occhiata all'ultima versione di Python che Debian in Madison , mentre l'ultima versione di Python 2 alla data è quella che hai indicato:

  ~  apt-cache policy python
python:
  Installed: 2.7.5-5
  Candidate: 2.7.5-5
  Version table:
 *** 2.7.5-5 0
        500 http://ftp.us.debian.org/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status

(pythonbrew non è più mantenuto).


ok ho installato pip e virtualenv come root, quindi come posso creare un ambiente virtuale con una nuova versione di Python? per quanto ne so abbiamo bisogno di installare la nuova versione prima giusto?
Pierre,

1
@Peter Penso che il primo passo sia pyenv install 2.7.6. Puoi controllare tutte le versioni usandopyenv install -l
Braiam

27

Ok dopo molte ricerche ho deciso di compilare Python dal sorgente, quindi ho scaricato il tarball sorgente compresso dalla pagina di download di Python , ora abbiamo bisogno di installare il build-essentialpacchetto per poter compilare i file sorgente:

apt-get install build-essential

inoltre dobbiamo installare questi pacchetti di sviluppo richiesti per alcuni moduli Python:

libbz2-dev
libsqlite3-dev
libreadline-dev
zlib1g-dev
libncurses5-dev
libssl-dev
libgdbm-dev

poi estraiamo il file sorgente scaricato:

tar zxf Python-2.7.6.tgz

quindi entriamo cdnella directory estratta:

cd Python-2.7.6

e segui le istruzioni sui documenti Python :

./configure --prefix=/opt/python
make
make install # <- in the docs but don't execute: use checkinstall

Ho scelto di installarlo nella directory /opt/pythonche ho creato prima, inoltre ho usato il pacchetto checkinstall per creare un file .deb in modo da poterlo disinstallare facilmente in seguito, quindi lo installiamo prima:

apt-get install checkinstall

e sostituisci l'ultima riga make installcon:

checkinstall

ora ho una nuova installazione di Python /opt/python/lib/python2.7e il file binario è dentro /opt/python/bin/python2.7.

ora posso eseguire nella riga di comando /opt/python/bin/python2.7per utilizzare questa versione di Python, inoltre possiamo creare un collegamento a questo eseguibile in modo da non digitare il percorso completo, l'ho chiamato python2.7.6.

ln -s /opt/python/bin/python2.7 /usr/local/bin/python2.7.6

inoltre la directory /opt/python/binconterrà in seguito altri file eseguibili come pipe virtualenvo qualsiasi altro modulo installato in modo da poterlo aggiungere alla variabile di ambiente PATH, modificare ~/.profilee aggiungere questa riga:

PATH="$PATH:/opt/python/bin"

e corri:

source ~/.profile

I apposto il percorso fino alla fine perché contiene nomi eseguibili come quelli di /usr/bincome python, python2e python2.7così continuiamo la priorità più alta per /usr/bin.


Ora, sapresti come configurare il tuo nuovo Python per vedere i moduli che sono stati installati tramite apt-get?
elsurudo,

Sfortunatamente per Python 2.6, la compilazione dal sorgente non funziona correttamente su Debian 8 (Jessie) ma ho scoperto, almeno per un Raspberry Pi, che sono stato in grado di usare i pacchetti più vecchi di pacchetti.debian.org . L'ordine, supponendo che build-essentials sia già in atto, è qualcosa come libdb, python2.6-minimal, python2.6, libpython2.6, python2-6-dev ma dpkg -iti dirà cosa è necessario.
Charlie Clark,

1
@elsurudo Non avrebbe davvero senso, perché i moduli potrebbero non essere supportati nella tua nuova versione. Se vuoi il pieno controllo del tuo Python (come fai durante la compilazione dal sorgente), vorrai installare anche i moduli separatamente.
triplo

-1

Puoi usare:

aptitude install python3.5  

oppure, se non hai installato aptitude, puoi installarlo usando:

apt-get install aptitude
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.