将IPython设置为PyDev的解释器

5
我想在Pydev Eclipse插件中使用IPython作为解释器。
我正在运行Linux(OpenSUSE)上的IPython 0.10和Pydev 2.5.0。
当我进入Pydev首选项并尝试设置IPython路径时(如此页面所述:http://pydev.org/manual_101_interpreter.html),我会收到以下错误消息:“未找到Python stdlib或者stdlib没有.py文件”。
从bash终端窗口中,ipython解释器可以正常工作,并且我可以通过命令“which ipython”获取路径。
有人能帮帮我吗?
谢谢!
interpreterInfo.py输出如下:
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).  
4个回答

5

这意味着在那些路径中(XML标记),PyDev无法找到Python库文件(例如threading.py或traceback.py等 - 请注意,如果您只有.pyc文件而不是实际的.py文件,也可能会发生这种情况其中一个文件夹)。

或者您在解释器配置过程中没有留下包含Python库的文件夹。

请注意,您并没有真正将“Ipython”设置为解释器,而是将Python本身作为解释器,并且您可以安装IPython库以在交互式控制台中使用:http://pydev.org/manual_adv_interactive_console.html(但从您的输出中,似乎您正在正确执行此操作,因为您正在指向配置/ usr / bin / python)。


1
谢谢您的快速回答。如果我理解正确,我不应该尝试将Ipython设置为解释器(因为它不是),而只需在Pydev的PYTHONPATH中添加IPython路径,然后Pydev自动使用IPython控制台。我在Pydev的PYTHONPATH中添加了/usr/lib/python2.7/site-packages/IPython/,但是我收到错误消息PyDev console: using default backend (IPython not available).该目录包含一些目录和许多.py和.pyc文件。我不知道哪些是必要的?再次感谢您的帮助(对于我的上一篇文章被截断,我很抱歉)。 - clement
你应该只将 /usr/lib/python2.7/site-packages/ 添加到PYTHONPATH中,而不是 /usr/lib/python2.7/site-packages/IPython(因为你想要在其中保留你想要使用的库的父文件夹)。 - Fabio Zadrozny
我已经将/usr/lib/python2.7/site-packages/添加到PYTHONPATH中,但它不起作用(PyDev console: using default backend (IPython not available).)。这就是为什么我尝试添加IPython路径的原因...有没有办法获取更明确的错误消息以找出问题所在? - clement
你可以尝试打开org.python.pydev.debug/pysrc/pydevconsole.py,并在 "from pydev_ipython_console import InterpreterInterface" 失败时添加“import traceback;traceback.print_exc()”以获取更多信息。 - Fabio Zadrozny

4
要将Ipython设置为默认shell,请按照以下步骤进行操作:转到窗口 -> 首选项 -> PyDev -> 交互式控制台。在“初始解释器命令”字段中添加以下两个命令:import IPython; IPython.Shell.IPShell().mainloop() 现在,每次启动控制台时,IPython都将作为默认程序启动。
注意1:当然,您需要在系统上安装IPython才能使用此功能。 注意2:解释器仍会报告类似“In [1]: PyDev console: using default backend (IPython not available)”这样的内容,但是这只是因为它在您导入IPython之前自动打印。
希望这可以帮助您!再见!

1
除了@mr_endres提到的步骤外,我还需要验证site-packages的路径。我有这个文件夹,但结果是空的。
要验证正确的路径,您可以从终端启动ipython并执行以下操作(仅作为示例):
 1. import numpy as np
 2. np.__file__

返回了以下内容:

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

我随后添加了:'/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages'到PYTHONPATH(在Eclipse中,通过首选项->PyDev->解释器-Python->PYTHON PATH部分中的新文件夹)。


0
对我来说,以下两个步骤起作用: 1)将“/usr/lib/python2.7/site-packages/”添加到PYTHONPATH中 2)在Window->Preferences->PyDev->Interactive Console下启用选项“Connect console to Variables Debug View”
奇怪的是,只有第二步才能启动IPython...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接