2012-06-09 20 views
14

Ho Ubuntu 10.04 con python2.6 per impostazione predefinita. Ho installato python2.7.apt-get install per diverse versioni python

Quando voglio installare i pacchetti python con

apt-get python-<package> 

esso viene installato a python2.6. Come posso fare per installare il pacchetto su python2.7? C'è qualche opzione?

Ho visto this, ma non sono riuscito a trovare tali directory nel mio sistema operativo. Ho preso in considerazione l'utilizzo di easy_install-2.7, ma non tutti i pacchetti sono supportati. Ad esempio python-torctl.

Sono più interessato a legare python2.7 con apt-get install.

+0

Domande come questa hanno maggiori probabilità di ottenere una risposta su http://askubuntu.com. – Matt

+0

Puoi fare una 'apt-cache search' per python e vedere se c'è un altro pacchetto per 2.7? È possibile che il pacchetto predefinito per python sia 2.6. – nhahtdh

+0

apt-cache search python fornisce molti risultati – torayeff

risposta

8

Python ha i propri servizi di gestione dei pacchetti, in parallelo a quello delle distribuzioni Linux (inclusa Ubuntu). Il repository è il Pypi - Python Package Index, e i pacchetti sono installati con pip o lo script easy_install, che fa parte del pacchetto setuptools di Python.

Come regola generale, non è necessario utilizzare entrambi i pacchetti installati tramite pip/setuptools e pacchetti disponibili per la distribuzione (tramite apt-get, yum, urpmi, ecc.) In quanto potrebbero entrare in conflitto.

Quindi, uno dei modi meno inclini a risolverlo è quello di avere installazioni Python separate nel proprio sistema - lasciare il python fornito con il sistema per gli script di sistema e simili - su questo python, utilizzare i pacchetti installati solo dal tuo gestore di pacchetti. E installa altre versioni di Python (o anche la stessa), da eseguire con "virtualenv" s - su queste altre installazioni installi le cose solo con pip/setuptools.

(E anche se si scelgono di vivere con coraggio e non usare virtualenvs, l'installazione di un'altra versione python sullo stesso prefisso (/usr, e anche /usr/local) di Python del sistema è una fonte di errori di confusione e conflitti).

Si noti che i sistemi Debian e Ubuntu hanno escogitato un modo per eseguire Python in parallelo in/usr e di avere apt-get per installare pacchetti Python in entrambe le versioni di Python contemporaneamente. Questo funziona per lo più, ma si confondono con la gerarchia di directory predefinita di Python e alcune applicazioni non riescono a usare Python in questo modo. (È anche un disastro trovare i file del modulo stessi in Debian o Ubuntu). Quindi il metodo sopra riportato si applica come una raccomandazione anche se il tuo sistema ha più di una versione di Python disponibile su apt-get.

In breve, una volta che avete compilato la versione desiderata di Python, fare questo:

  1. usare gestore dei pacchetti del sistema per l'installazione "python-setuptools" e "python-virtualenv" (non so se si tratta di i nomi dei pacchetti effettivi).
  2. Usa virtualenv per creare un ambiente da cui si intende utilizzare la versione di Python diversa
  3. Attiva la tua virtualenv e installare i pacchetti Python utilizzando pip su di esso.

virtualenv non dispongono di un interruttore di "help" per aiutarti, ma che, fondamentalmente, fare:

$ virtualenv -p <path-to-python-interpreter> <environment-dir> 
$ source <environment-dir>/bin/activate 

e ci siete - tutte le cose utilizzando Python "vedere" l'interprete nella virtualenv , a causa delle variabili di ambiente impostate.

+1

Le cose possono andare ancora più male quando Debian è configurato per la cross-compilation e non ci sono solo versioni differenti, ma anche architetture diverse di Python. – MSalters

5

ubuntu 10.04 non ha un pacchetto python2.7. Devi costruire 2.7 te stesso. Ho letto un articolo su Ubuntu che rilascia un pacchetto python2.7 quando è uscito il 12.04 ma non sono sicuro di quale sia la posizione del repository.

http://eli.thegreenplace.net/2011/10/10/installing-python-2-7-on-ubuntu/

o:

sudo add-apt-repository ppa:fkrull/deadsnakes 
sudo apt-get update 
sudo apt-get install python2.7 

https://askubuntu.com/questions/101591/install-python-2-7-2-on-ubuntu-10-04-64-bit

Questa domanda ha un sacco di risposte online.

+0

Anche io ho già installato python2.7, l'ho fatto di nuovo , il problema non è con l'installazione con python2.7, il problema è con l'installazione di pacchetti con apt-get install, di default si installa su python2.6, per esempio apt-get install python-torctl lo installa su python2.6, I non posso usarlo con python2.7, come posso fare questo? – torayeff

+0

@torayeff: 'apt-get' gestisce i pacchetti per la versione di Python che installa da solo. Non è possibile farlo funzionare per una versione diversa a meno che non si installi quella versione con 'apt-get'. –

Problemi correlati