2012-01-25 9 views
9

He instalado Enthought Python Distribution, que es básicamente una distribución glorificada de Python con bibliotecas adicionales para computación numérica y científica. Ahora, dado que uso Debian, ya está Python instalado. Si deseo usar Enthought Python para todo el trabajo, ¿cómo haré para eso?Usando Enthought Python en lugar del sistema Python

Ahora estoy usando un alias rudimentaria como:

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

Esto está muy bien, pero falla por directivas shebang como #! /usr/bin/env python en scripts de Python independientes. Entonces, ¿cómo hago para que el sistema use Enthought Python (sin romper nada por supuesto). ¡Gracias!

Respuesta

2

Enlace simbólico de la versión actual de python con Enthought.

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

Uhm, después de algunas pruebas, esto no parece funcionar. El enlace simbólico rompe muchos otros programas. Por ejemplo, no puedo importar el módulo 'gtk' ahora. Debe hacer algo con 'PYTHONPATH'. – pewfly

+3

@pewfly - No puede importar 'gtk' porque no está instalado. Si desea usarlo para su instalación EPD, entonces deberá instalar 'gtk' usando la construcción python enthought. A menudo, (especialmente para cosas como 'gtk', que enlazan a bibliotecas compiladas) esto significa recompilar desde la fuente. Simplemente cambiar su 'PYTHONPATH' generalmente no funcionará, ya que la python de su sistema a menudo es una versión _completamente_ diferente. Si trabaja con bibliotecas que son extensiones C y están compiladas en una versión diferente de python, las cosas no funcionarán. –

+0

@JoeKington Buen consejo. Y parece que es mejor si no me meto en el sistema Python. – pewfly

5

Si su en Debian puede instalar Python en Enthought virtualenv.

Enthought tendría sus propias bibliotecas sin molestar a otros programas Debian que necesitan la versión del sistema. Puede hacer la conmutación más fácil entre entornos con virtualenvwrapper.

También hay un método con virtualenv para compartir (ciertos) paquetes de sitio entre entornos. Asegúrese de utilizar pip en lugar de easy_install dentro de un virtualenv.

La gente de Django lo hace todo el tiempo.

+0

Esta es la forma correcta de hacerlo. No rompe los comandos estándar y la infraestructura de su computadora, y le permite usar fácilmente el EPD cuando lo desee con solo hacerlo desde dentro del entorno virtual. – nealmcb

+0

¿cómo se instalan los pensamientos en un virtualenv? No puedo encontrar ninguna documentación que recorre este proceso. Cualquier ayuda sería apreciada. Gracias. – codingknob

2

creo, que en Debian es mejor para instalar los paquetes de esta manera:

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

en lugar de instalar Python Enthought distribución.

+1

Sí, lo intenté primero. Pero los paquetes en los repositorios Debian están paralizados. Para mi propósito requiero la última versión de 'matplotlib' que no está en el repositorio. Gracias de cualquier manera. – pewfly

12

Creo que esta es la manera oficial de hacerlo, según lo recomendado por Enthought:

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

si ha instalado a /usr/local/EPD. De lo contrario, la forma general es

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

Este antepone la ruta de acceso al directorio de binarios EPD a la variable PATH del sistema. El : es una especie de símbolo de concatenación. Puede ejecutar esto en la terminal cada vez, o puede poner esto en su archivo ~/.bashrc.


Editar crítico:

Resulta que en realidad EPD debe agregará a la ruta, o puede que tenga problemas del sistema operativo. Hágalo así:

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

Hmm También me encuentro con este problema. Lo primero que hice fue la sugerencia de anteponer Python a la ruta como lo sugirió Chad, pero esto da como resultado algunos problemas para otras aplicaciones de Linux que usan bibliotecas que no están incluidas en Enthought pero que están incluidas en Linux Mint (o cualquier otra distribución). re usando). En particular, si cargo Python desde la terminal, ingresé exitosamente la versión de python de Enthought, pero al ejecutar "importar pygtk" se produce un error (porque la biblioteca no está instalada en la versión de python de Enthought).

¿Alguien sabe cómo utilizar PYTHONPATH para incluir primeras librerías Enthought y luego incluir las bibliotecas estándar de Linux? Esta sería la configuración óptima ....

+1

Ver mi edición anterior. En realidad, la ruta se debe anexar en lugar de anexarla. – Chad

+0

Además, para responder a su pregunta, coloque la exportación PYTHONPATH = $ PYTHONPATH:/ruta/a/estándar/bibliotecas en su ~/.bashrc – Chad

0

Utilizo 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 
Cuestiones relacionadas