2012-04-19 98 views
5

我想在Pydev eclipse插件中使用IPython作爲解釋器。設置ipython作爲pydev的解釋器

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

當我進入PyDev選項,並嘗試設置IPython的路徑(如本頁上的說明:http://pydev.org/manual_101_interpreter.html),我收到以下錯誤

「巨​​蟒STDLIB沒有發現或發現STDLIB不.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). 

回答

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時,你是這麼做的)。

+0

感謝您的快速回答。 – clement 2012-04-20 10:35:48

+0

注意:如果這確實是您的情況,您應該將答案標記爲已接受:) – 2012-04-20 10:54:01

+1

感謝您的快速回答。如果我理解的很好,我不應該嘗試將Ipython設置爲解釋器(因爲它不是),而只需在Pydev的PYTHONPATH中添加IPython路徑,然後Pydev會自動使用IPython控制檯。我在Pydev的PYTHONPATH中添加了'/ usr/lib/python2.7/site-packages/IPython /',但是我得到錯誤'PyDev控制檯:使用默認後端(IPython不可用)。「該目錄包含一些目錄和一個很多.py和.pyc文件。我不需要哪一個?再次感謝您的幫助(並對我之前發佈的文章進行了截斷) – clement 2012-04-20 12:01:32

0

對我來說,以下兩個步驟工作: 1)添加 「/usr/lib/python2.7/site-packages/」 到PYTHONPATH 2)使通過窗口 - >首選項 - > PyDev->交互式控制檯此選項僅奇怪與第二步IPython的開始......

1

除了通過@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' 

我然後加入:「的/ usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages'到PYTHONPATH(在Eclipse中通過preferences-> PyDev-> Interpreter - Python - > New文件夾在PYTHON PATH部分)。

4

要使Ipython成爲默認shell,請執行以下操作:轉到Window - > Preferences - > PyDev - > Interactive Console。在Initial Interpreter Commands(初始解釋器命令)文件中添加以下2個命令:import IPython; IPython.Shell.IPShell()。mainloop()現在,每次啓動控制檯IPython都將默認啓動。注1:當然,你需要爲你的系統安裝IPython才能工作 注意2:解釋器仍然會抱怨類似於「In [1]:PyDev控制檯:使用默認後端(IPython不可用)」,但是這是因爲它會在您有機會導入IPython之前自動打印它。

希望這有助於!再見!