2012-01-25 5 views
9

Ho installato il Enthought Python Distribution, che è fondamentalmente una distribuzione Python glorificata con librerie aggiunte per il calcolo numerico e scientifico. Ora, dal momento che utilizzo Debian, Python è già installato. Se desidero utilizzare l'Enthought Python per tutto il lavoro, come farei per farlo?Uso di Enthought Python al posto del sistema Python

In questo momento sto utilizzando un alias rudimentale come:

alias python='/usr/local/share/enthought/bin/python' 

Questo va bene, ma non riesce per direttive Shebang come #! /usr/bin/env python negli script Python indipendenti. Quindi, come faccio a far funzionare il sistema Enthought Python (senza rompere nulla, ovviamente!). Grazie!

risposta

2

Symlink la versione corrente di python su Enthought.

ln -s /usr/bin/python[version] /path/to/enthought/python 
+0

Uhm, dopo alcuni test, questo non sembra funzionare. Il collegamento simbolico interrompe molti altri programmi. Ad esempio, non posso importare il modulo 'gtk' ora. Deve fare qualcosa con il 'PYTHONPATH'. – pewfly

+3

@pewfly - Non è possibile importare 'gtk' perché non è installato. Se si desidera utilizzarlo per l'installazione di EPD, è necessario installare 'gtk' utilizzando la build di python enthought. Spesso, (specialmente per cose come 'gtk' che collegano a librerie compilate) questo significa ricompilare dal sorgente. Cambiare semplicemente il tuo 'PYTHONPATH' generalmente non funzionerà, dato che il python del tuo sistema è spesso una _completamente_ versione diversa. Se stai lavorando con le librerie che sono estensioni C, e sono costruite su una versione diversa di Python, le cose non funzioneranno. –

+0

@JoeKington Buon consiglio. E sembra meglio se non mi intrometto con il sistema Python. – pewfly

5

Se su Debian è possibile installare enthought Python in virtualenv.

Enthought avrebbe le proprie librerie senza preoccuparsi di altri programmi di debian che necessitano della versione di sistema. È possibile semplificare il passaggio da un ambiente all'altro con virtualenvwrapper.

C'è anche un metodo con virtualenv per condividere (certi) pacchetti di siti tra ambienti. Assicurati di usare pip invece di easy_install in un virtualenv.

Le persone Django fanno tutto il tempo.

+0

Questo è il modo giusto per farlo. Non infrange i comandi standard e l'infrastruttura del tuo computer, e ti permette di usare facilmente l'EPD quando lo desideri, semplicemente facendolo all'interno del virtualenv. – nealmcb

+0

come si installano i componenti in una virtualenv? Non riesco a trovare alcuna documentazione che passi attraverso questo processo. Qualsiasi aiuto sarebbe apprezzato. Grazie. – codingknob

2

penso, che su Debian è meglio installare i pacchetti in questo modo:

apt-get install python-numpy python-numpy-doc python-scipy python-matplotlib ipython 

invece di installare Enthought Python Distribution.

+1

Sì, l'ho provato prima. Ma i pacchetti nei repository Debian sono obsoleti e paralizzanti. Per il mio scopo ho bisogno dell'ultima versione di 'matplotlib' che non è presente nei repository. Grazie comunque. – pewfly

12

penso che questo sia il modo ufficiale di farlo, come raccomandato da Enthought:

export PATH=/usr/local/EPD/bin:$PATH 

se si è installato a /usr/local/EPD. In caso contrario, la forma generale è

export PATH=/path/to/EPD/bin:$PATH 

Questa antepone il percorso della directory binario EPD alla variabile di sistema PATH. Il : è una sorta di simbolo concatenato. Puoi eseguirlo nel terminale ogni volta, oppure puoi inserirlo nel tuo file ~/.bashrc.


Edit critico:

Si scopre che EPD dovrebbe realmente essere aggiunto al percorso, oppure si possono avere problemi del sistema operativo. Fai così:

export PATH=$PATH:/path/to/EPD/bin 
1

Hmm Sto incontrando anche questo problema. La prima cosa che ho fatto è stato il suggerimento di anteporre python al path come suggerito da Chad, ma questo comporta alcuni problemi per altre app di Linux che usano librerie che non sono incluse in Enthought ma sono incluse in Linux Mint (o in qualunque altra cosa si distro ') riutilizzando). In particolare, se carico python dal terminale, inserisco correttamente la versione di python di Enthought, ma l'esecuzione di "import pygtk" genera un errore (perché la libreria non è installata nella versione Enthought di python).

Qualcuno sa usare PYTHONPATH per includere le prime librerie di Enthought e quindi includere le librerie Linux standard? Questa sarebbe la configurazione ottimale ....

+1

Vedere la mia modifica sopra. Il percorso dovrebbe in realtà essere accodato a piuttosto che anteporre. – Chad

+0

Inoltre, per rispondere alla tua domanda, inserisci export PYTHONPATH = $ PYTHONPATH:/percorso/per/standard/librerie nel tuo ~/.bashrc – Chad

0

Io uso alias.

alias python=~/Softwares/EPD_7.3/epd-7.3-2-rh5-x86_64/bin/python 
alias ipython=~/Softwares/EPD_7.3/epd-7.3-2-rh5-x86_64/bin/ipython