Installare versioni più recenti e precedenti di Python su debian?


12

Come posso installare versioni extra di Python su Debian (jessie). Su Ubuntu posso usare il PPA "deadsnakes" che mi darà qualsiasi versione di Python che voglio, con il nome della versione nel comando (ad esempio python33per Python 3.3). Questo mi permette di installarli tutti uno accanto all'altro. Posso usare virtualenvs per installare pacchetti python specifici per versioni specifiche senza fare confusione con i pacchetti di sistema. Mantengo alcune librerie di Python e devono funzionare su molte versioni di Python. Se ho installato il binario python, tox si occuperà di usare virtualenvs per ogni versione di python.

Quindi qual è l'equivalente debian dei deadsnakes PPA di Ubuntu?

AGGIORNAMENTO Voglio installare Python: 2.6, 2.7, 3.3, 3.4 e 3.5.


Puoi specificare quali versioni di Python vuoi installare? Penso che Jessie abbia a disposizione diverse versioni.
Faheem Mitha

Secondo me probabilmente stai meglio installando varie versioni di Python dal sorgente.
Celada,

Risposte:


9

Utilizzando il PPA

Puoi usare il PPA su Debian. Scegli una versione di Ubuntu leggermente precedente alla tua versione di Debian e dovrebbe avere tutte le librerie necessarie. Per quanto riguarda il respiro sibilante, il PPA onirico sembra ok (ma manca di versioni più recenti di Python). Per Jessie, il fidato PPA dovrebbe funzionare.

Per aggiungere un PPA su Debian, creare un file /etc/apt/sources.list.d/deadsnakes.listcontenente

deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 

Scarica la chiave di firma PPA con

gpg --keyserver keyserver.ubuntu.com --recv-keys DB82666C

quindi aggiungere la chiave al database delle chiavi APT con

gpg --export DB82666C | sudo apt-key add -

Infine, esegui apt-get updatee installa i pacchetti desiderati.

Se non riesci a far funzionare il PPA per alcuni motivi (forse non riesci a trovare una versione che funzioni con le librerie che hai), puoi scaricare il sorgente e ricompilarli per la tua distribuzione.

Utilizzando un sistema chroot

Quello che faccio di solito per testare la compatibilità con altre versioni è eseguire distribuzioni più vecchie o più recenti in un sistema chroot . Ad esempio, potresti installare varie versioni di Ubuntu con le versioni di Python che ti interessano, oppure puoi installare fidato in un chroot e installare lì il PPA. Per ulteriori informazioni, consultare la mia guida di Schroot .


1
Dovresti evitare di usare Ubuntu PPA su Debian, poiché potrebbe causare problemi o altri conflitti. (È anche possibile utilizzare pyenvambienti virtuali per più versioni di Python)
Thomas Ward,

Posso confermare di aver installato con successo Python 2.6, 2.7, 3.1, 3.2, 3.3, 3.5 e 3.6 sui test debian correnti usando questo approccio. L'unica avvertenza che ho riscontrato è stata che avevo bisogno di trovare una vecchia versione di libssl1.0.0cui ho trovato qui: Packages.debian.org/jessie/libssl1.0.0 . Ho anche usato le versioni xenial (16.04) dei pacchetti (lts attuali), anche se credo che Trust funzioni ancora.
Att Righ,

1

Direi che non esiste un equivalente Debian al PPA deadsnakes di Ubuntu

Sotto Debian, l'uso di pacchetti o repository Ubuntu non è raccomandato. Poiché questo post appare nei motori di ricerca, propongo qui una risposta meno pericolosa per un sistema Debian.

L'installazione manuale di Python è possibile. Ad esempio, è possibile utilizzare le seguenti istruzioni per installare la versione 3.5.2

Prerequisiti

Installa dipendenze:

sudo apt-get update && sudo apt-get install libssl-dev openssl

Costruire Python

Puoi creare Python in una cartella specifica usando il --prefixparametro dal configurecomando:

wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar zxf Python-3.5.2.tgz
cd Python-3.5.2/
./configure --prefix=/usr/local
make
sudo make install

Invece di /usr/local, si può usare un'altra directory di base. Come esempio:

sudo mkdir /opt/python-3.5.2
./configure --prefix=/opt/python-3.5.2

Selezione della versione di Python

L'uso della variabile d'ambiente PATH può aiutare a scegliere la versione corretta di Python da usare. Ma si possono anche usare i symlink:

sudo ln -s /opt/python-3.5.2/bin/python3.5 /usr/local/bin/python3
sudo ln -s /opt/python-3.5.2/bin/pip3.5 /usr/local/bin/pip3

L'uso -fdell'opzione ti permetterà di sostituire i collegamenti simbolici esistenti

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.