2012-04-19 17 views
5

Me gustaría utilizar IPython como intérprete en el complemento Pydev eclipse.establece ipython como intérprete para pydev

Tengo IPython 0.10 y Pydev 2.5.0, ejecutándose en Linux (opensuse).

Cuando entro en las preferencias PyDev y tratar de establecer la ruta IPython (como se explica en esta página: http://pydev.org/manual_101_interpreter.html), me sale el siguiente error

"Python no stdlib encuentra o stdlib encontró sin los ficheros .py"

El intérprete de ipython funciona bien desde un terminal de bash, y obtengo la ruta desde el comando "which ipython".

¿Alguien me puede ayudar?

Gracias!

La salida interpreterInfo.py es:

python /home/softs/eclipse/plugins/org.python.pydev_2.5.0.2012040618/PySrc/interpreterInfo.py 


<xml> 
<version>2.7</version> 
<executable>/usr/bin/python</executable> 
<lib path="out">/home/softs/eclipse/plugins/org.python.pydev_2.5.0.2012040618/PySrc</lib> 
<lib path="ins">/usr/local/lib64/python2.7/site-packages/scikits.timeseries-0.91.3-py2.7-linux-x86_64.egg</lib> 
<lib path="ins">/usr/local/lib64/python2.7/site-packages/distribute-0.6.19-py2.7.egg</lib> 
<lib path="ins">/usr/local/lib64/python2.7/site-packages/MeshPy-2011.1-py2.7-linux-x86_64.egg</lib> 
<lib path="out">/data/dvp/python</lib> 
<lib path="out">/home/mayet</lib> 
<lib path="ins">/usr/lib/python27.zip</lib> 
<lib path="ins">/usr/lib64/python2.7</lib> 
<lib path="ins">/usr/lib64/python2.7/plat-linux2</lib> 
<lib path="ins">/usr/lib64/python2.7/lib-tk</lib> 
<lib path="ins">/usr/lib64/python2.7/lib-old</lib> 
<lib path="ins">/usr/lib64/python2.7/lib-dynload</lib> 
<lib path="ins">/usr/lib64/python2.7/site-packages</lib> 
<lib path="ins">/usr/lib64/python2.7/site-packages/PIL</lib> 
<lib path="ins">/usr/local/lib64/python2.7/site-packages</lib> 
<lib path="ins">/usr/local/lib/python2.7/site-packages</lib> 
<lib path="ins">/usr/lib64/python2.7/site-packages/gtk-2.0</lib> 
<lib path="ins">/usr/lib/python2.7/site-packages</lib> 
<lib path="ins">/usr/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info</lib> 
<lib path="ins">/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode</lib> 
<forced_lib>__builtin__</forced_lib> 
<forced_lib>__main__</forced_lib> 
<forced_lib>_ast</forced_lib> 
<forced_lib>_codecs</forced_lib> 
<forced_lib>_sre</forced_lib> 
<forced_lib>_symtable</forced_lib> 
<forced_lib>_warnings</forced_lib> 
<forced_lib>errno</forced_lib> 
<forced_lib>exceptions</forced_lib> 
<forced_lib>gc</forced_lib> 
<forced_lib>imp</forced_lib>                                       
<forced_lib>marshal</forced_lib>                                      
<forced_lib>posix</forced_lib>                                      
<forced_lib>pwd</forced_lib>                                       
<forced_lib>signal</forced_lib>                                      
<forced_lib>sys</forced_lib>                                       
<forced_lib>thread</forced_lib>                                      
<forced_lib>xxsubtype</forced_lib>                                     
<forced_lib>zipimport</forced_lib>                                     
</xml>Traceback (most recent call last):                                    
    File "/home/softs/eclipse/plugins/org.python.pydev_2.5.0.2012040618/PySrc/interpreterInfo.py", line 142, in <module>                
raise RuntimeError('Ok, this is so that it shows the output (ugly hack for some platforms, so that it releases the output).')             
RuntimeError: Ok, this is so that it shows the output (ugly hack for some platforms, so that it releases the output). 

Respuesta

5

Esto significa que en ninguno de esos caminos (la etiqueta XML), PyDev puede encontrar los archivos de la biblioteca de Python (como threading.py o traceback.py, etc., tenga en cuenta que esto puede suceder si solo tiene archivos .pyc y no los archivos .py reales en una de esas carpetas).

O no dejó la carpeta que contiene las bibliotecas de Python seleccionadas durante el proceso de configuración del intérprete.

Tenga en cuenta que realmente no establece 'IPython' como intérprete, configura Python como intérprete y puede tener la biblioteca IPython instalada para usar en la consola interactiva: http://pydev.org/manual_adv_interactive_console.html (pero a partir de su salida parece lo estás haciendo bien cuando estás apuntando a configurar/usr/bin/python).

+0

Gracias por su respuesta rápida. – clement

+0

Nota: si este fue realmente su caso, debe marcar la respuesta como aceptada :) –

+1

Gracias por su respuesta rápida. Si lo entiendo bien, no debería intentar configurar Ipython como un intérprete (porque no lo es), sino simplemente agregar la ruta IPython en PYTHONPATH de Pydev, luego Pydev usa automáticamente la consola IPython. Agregué '/ usr/lib/python2.7/site-packages/IPython /' en PYTHONPATH de Pydev, pero obtengo el error 'Consola PyDev: utilizando back-end predeterminado (IPython no disponible) .' El directorio contiene algunos directorios y una muchos archivos .py y .pyc. Yo no cuáles son necesarios? Gracias de nuevo por su ayuda (y lo siento por mi publicación anterior, que se truncó) – clement

0

Para mí los dos pasos siguientes trabajó: 1) Añadir "/usr/lib/python2.7/site-packages/" al PYTHONPATH 2) Activar en Ventana-> Preferencias-> PyDev-> consola interactiva la opción "Conectar la consola a variables de depuración Ver"

Extrañamente sólo con el segundo paso IPython comenzó ...

1

además de las medidas mencionadas por @mr_endres también he tenido que comprobar la ruta de site-packages. Tenía la carpeta pero resultó que estaba vacía.

Para verificar la ruta adecuada puede empezar ipython de la terminal y hacer lo siguiente (es un ejemplo):

1. import numpy as np 
2. np.__file__ 

que volvió:

'`/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages`/numpy/__init__.pyc' 

Luego añade: '/ usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 'a PYTHONPATH (en Eclipse es a través de preferencias-> PyDev-> Intérprete - Python -> Nuevo carpeta en la sección PITÓN PATH).

4

Para obtener Ipython como shell predeterminado haga lo siguiente: vaya a Ventana -> Preferencias -> PyDev -> Consola interactiva. En los Comandos de Intérprete iniciales archivados, agregue estos 2 comandos: importar IPython; IPython.Shell.IPShell(). Mainloop() Ahora cada vez que inicie su consola, se lanzará IPython por defecto.

Nota 1: Por supuesto, es necesario instalar IPython de su sistema para que esto funcione Nota 2: el intérprete todavía se quejará con algo como "En [1]: consola PyDev: el uso de back-end por defecto (IPython no disponible)", pero es porque lo imprime automáticamente antes de que tenga la oportunidad de importar IPython.

Espero que esto ayude !! ¡¡Adiós!!