【问题标题】:set ipython as interpreter for pydev将 ipython 设置为 pydev 的解释器
【发布时间】:2013-03-13 18:55:57
【问题描述】:

我想在 Pydev eclipse 插件中使用 IPython 作为解释器。

我有 IPython 0.10 和 Pydev 2.5.0,在 linux (opensuse) 上运行。

当我进入 Pydev 首选项并尝试设置 IPython 路径时(如本页所述:http://pydev.org/manual_101_interpreter.html),我收到以下错误

“找不到 Python 标准库或找到没有 .py 文件的标准库”

ipython 解释器在 bash 终端上工作正常,我从命令“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).  

【问题讨论】:

    标签: python eclipse-plugin pydev ipython


    【解决方案1】:

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

    或者您没有离开包含在解释器配置过程中选择的 Python 库的文件夹。

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

    【讨论】:

    • 感谢您的快速回答。
    • 感谢您的快速回答。如果我理解的很好,我不应该尝试将 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 文件。我不知道哪些是必要的?再次感谢您的帮助(并对我之前的帖子感到抱歉,该帖子已被截断)
    • 你应该只添加 /usr/lib/python2.7/site-packages/,而不是 /usr/lib/python2.7/site-packages/IPython 到你的 PYTHONPATH (因为你想离开您要在其中使用的库的父文件夹)。
    • 我已经在 PYTHONPATH 中有 /usr/lib/python2.7/site-packages/,但它不起作用 (PyDev console: using default backend (IPython not available).)。这就是我尝试添加 IPython 路径的原因...有没有办法获得更明确的错误消息以找出问题所在?
    • 当“from pydev_ipython_console import InterpreterInterface”无法获取更多信息时,您可以尝试打开 org.python.pydev.debug/pysrc/pydevconsole.py 并添加“import traceback;traceback.print_exc()” .
    【解决方案2】:

    要将 Ipython 作为默认 shell,请执行以下操作:转到 Window-->Preferences-->PyDev-->Interactive Console。在 Initial Interpreter Commands 字段中添加这 2 个命令:import IPython; IPython.Shell.IPShell().mainloop() 现在每次启动控制台时,IPython 都会默认启动。

    注意1:当然,您需要在系统中安装 IPython 才能正常工作 注意 2:解释器仍然会抱怨“在 [1]:PyDev 控制台:使用默认后端(IPython 不可用)”,但这是因为它会在您有机会导入 IPython 之前自动打印出来。

    希望这会有所帮助!!再见!!

    【讨论】:

      【解决方案3】:

      除了@mr_endres 提到的步骤之外,我还必须验证站点包的路径。有文件夹,但结果它是空的。

      要验证正确的路径,您可以从终端启动 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'
      

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

      【讨论】:

        【解决方案4】:

        对我来说,以下两个步骤有效: 1)将“/usr/lib/python2.7/site-packages/”添加到PYTHONPATH 2)在Window->Preferences->PyDev->Interactive Console下启用选项“Connect console to Variables Debug View”

        奇怪的是只有第二步 IPython 才开始...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-12-30
          • 1970-01-01
          • 2017-12-01
          • 2011-06-08
          • 1970-01-01
          • 2012-12-18
          • 2013-03-10
          • 2019-03-19
          相关资源
          最近更新 更多