2012-04-19 21 views
5

Chciałbym użyć IPython jako interpretera wtyczki Pydev Eclipse.ustaw ipython jako interpreter dla pydev

Mam IPython 0.10 i Pydev 2.5.0, działa na Linux (opensuse).

Kiedy idę do preferencji PyDev i spróbuj ustawić ścieżkę ipython (jak wyjaśniono na tej stronie: http://pydev.org/manual_101_interpreter.html), pojawia się następujący błąd

„Python nie stdlib znaleziony lub stdlib znaleźć bez plików .py”

Interpreter ipython działa dobrze z poziomu terminala Bash, a ja otrzymuję ścieżkę z polecenia "which ipython".

Czy ktoś może mi pomóc?

Dzięki!

Wyjście interpreterInfo.py jest:

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). 

Odpowiedz

5

Oznacza to, że w żadnym z tych ścieżek (tag XML), PyDev można znaleźć pliki biblioteki Pythona (takie jak threading.py lub traceback.py, itd. - zauważ, że może się to zdarzyć, jeśli masz tylko pliki .pyc, a nie rzeczywiste pliki .py w jednym z tych folderów).

Lub nie zostawisz folderu zawierającego biblioteki Python wybranego podczas procesu konfigurowania tłumacza.

Zauważ, że tak naprawdę nie ustawiłeś "IPython" jako interpretera, ustawiłeś sam Python jako interpreter i możesz mieć bibliotekę IPython zainstalowaną do użycia w interaktywnej konsoli: http://pydev.org/manual_adv_interactive_console.html (ale z twojego wyjścia wydaje się robisz to dobrze, gdy wskazujesz na konfigurację/usr/bin/python).

+0

Dziękuję za szybką odpowiedź. – clement

+0

Uwaga: jeśli tak naprawdę było, należy oznaczyć odpowiedź jako zaakceptowaną :) –

+1

Dziękuję za szybką odpowiedź. Jeśli dobrze rozumiem, nie powinienem próbować ustawić Ipython jako interpretera (ponieważ tak nie jest), ale po prostu dodaj ścieżkę IPython w PYTHONPATH Pydeva, a następnie Pydev automatycznie użyje konsoli IPython. Dodałem '/ usr/lib/python2.7/site-packages/IPython /' w PYTHONPATH Pydev'a, ale pojawia się błąd 'PyDev console: używając domyślnego backendu (IPython nie jest dostępny).' Katalog zawiera pewne katalogi i dużo plików .py i .pyc. Nie wiem, które z nich są potrzebne? Jeszcze raz dziękuję za pomoc (i przepraszam za mój poprzedni wpis, który został skrócony) – clement

0

Dla mnie dwa następujące kroki pracował: 1) Dodaj "/usr/lib/python2.7/site-packages/" do PYTHONPATH 2) umożliwienia pod Okno-> Preferencje-> PyDev-> Interaktywne konsoli opcja „Połącz konsolę do zmiennych Debug View”

dziwo tylko z drugiego etapu ipython zaczęło ...

1

oprócz etapów wymienionych przez @mr_endres miałem też zweryfikować ścieżkę site-packages. Miał folder, ale okazało się, że był pusty.

Aby sprawdzić właściwą ścieżkę można rozpocząć ipython od terminala i wykonaj następujące czynności (tylko przykład):

1. import numpy as np 
2. np.__file__ 

który zwrócony:

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

I dodaje: „/ usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 'do PYTHONPATH (w Eclipse to poprzez preferencje-> PyDev-> Interpreter - Python -> Nowość folder w sekcji PATHON PATH).

4

Aby uzyskać Ipython jako domyślną powłokę, wykonaj następujące czynności: przejdź do okna -> Preferencje -> PyDev -> Interaktywna konsola. W polu Polecenia Initial Interpreter dodajemy 2 polecenia: import IPython; IPython.Shell.IPShell(). Mainloop() Teraz za każdym razem, gdy uruchomisz konsolę, IPython zostanie uruchomiony jako domyślny.

Note1: oczywiście, trzeba ipython zainstalowany z systemem to zadziałało UWAGA2: interpreter będzie nadal skarżą się z czymś w rodzaju „W [1]: konsolę PyDev: używanie domyślnego backend (ipython niedostępne)”, ale dzieje się tak dlatego, że drukuje go automatycznie, zanim będzie można zaimportować IPython.

Mam nadzieję, że to pomoże! PA!!