2012-04-19 25 views
5

Tôi muốn sử dụng IPython làm thông dịch viên trong plugin eclipse Pydev.đặt ipython làm thông dịch viên cho pydev

Tôi có IPython 0.10 và Pydev 2.5.0, chạy trên linux (mở).

Khi tôi đi vào sở thích Pydev và cố gắng để thiết lập đường dẫn IPython (như đã giải thích trên trang này: http://pydev.org/manual_101_interpreter.html), tôi nhận được lỗi sau

"Python stdlib không tìm thấy hoặc stdlib tìm thấy mà không cần file py"

Trình thông dịch ipython hoạt động tốt từ thiết bị đầu cuối bash và tôi nhận đường dẫn từ lệnh "ipython".

Ai đó có thể giúp tôi không?

Cảm ơn!

Sản lượng interpreterInfo.py là:

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

Trả lời

5

Điều này có nghĩa rằng trong không ai trong số những đường dẫn (thẻ xml), PyDev có thể tìm thấy các tập tin thư viện Python (như threading.py hoặc traceback.py, vv - lưu ý rằng điều này có thể xảy ra nếu bạn chỉ có tệp .pyc và không phải tệp .py thực tế trong một trong các thư mục đó).

Hoặc bạn không để thư mục chứa thư viện Python được chọn trong quá trình định cấu hình thông dịch viên. Lưu ý rằng bạn không thực sự đặt 'IPython' làm thông dịch viên, bạn tự đặt Python là trình thông dịch và bạn có thể cài đặt thư viện IPython để sử dụng trong bảng điều khiển tương tác: http://pydev.org/manual_adv_interactive_console.html (nhưng từ đầu ra của bạn) bạn đang làm điều này ngay khi bạn trỏ đến cấu hình/usr/bin/python).

+0

Cảm ơn bạn đã trả lời nhanh chóng. – clement

+0

Lưu ý: nếu đây thực sự là trường hợp của bạn, bạn nên đánh dấu câu trả lời là được chấp nhận :) –

+1

Cảm ơn bạn đã trả lời nhanh chóng. Nếu tôi hiểu rõ, tôi không nên cố gắng thiết lập Ipython như một thông dịch viên (vì nó không phải là), nhưng chỉ cần thêm đường dẫn IPython trong PYTHONPATH của Pydev, sau đó Pydev sẽ tự động sử dụng giao diện điều khiển IPython. Tôi đã thêm '/ usr/lib/python2.7/site-packages/IPython /' vào PYTHONPATH của Pydev, nhưng tôi gặp lỗi 'PyDev console: sử dụng backend mặc định (IPython không có sẵn) .' Thư mục chứa một số thư mục và một nhiều tệp .py và .pyc. Tôi không cần cái nào? Cảm ơn bạn một lần nữa vì sự giúp đỡ của bạn (và xin lỗi về bài viết trước của tôi, đã bị cắt ngắn) – clement

0

Đối với tôi, hai bước sau đã làm việc: 1) Thêm "/usr/lib/python2.7/site-packages/" vào PYTHONPATH 2) Bật trong Window-> Preferences-> PyDev-> Interactive Console tùy chọn "Kết nối giao diện điều khiển để biến gỡ lỗi Chế độ xem"

Kỳ lạ thay chỉ với bước thứ hai IPython bắt đầu ...

1

Bên cạnh các bước được đề cập bởi @mr_endres tôi cũng đã phải xác minh con đường cho trang web gói. Đã có thư mục nhưng hóa ra nó trống rỗng.

Để xác minh con đường thích hợp, bạn có thể bắt đầu ipython từ thiết bị đầu cuối và làm như sau (chỉ là ví dụ):

1. import numpy as np 
2. np.__file__ 

mà trả về:

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

sau đó tôi nói thêm: '/ usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Phiên bản/2.7/lib/python2.7/site-packages 'đến PYTHONPATH (trong Eclipse thông qua các tùy chọn-> PyDev-> Thông dịch viên - Python -> Mới trong phần PYTHON PATH).

4

Để nhận Ipython làm trình bao mặc định, hãy làm theo các bước sau: vào Window -> Preferences -> PyDev -> Interactive Console. Trong các lệnh phiên dịch đầu tiên đã thêm 2 lệnh này: import IPython; IPython.Shell.IPShell(). Mainloop() Bây giờ mỗi lần bạn bắt đầu giao diện điều khiển của bạn, IPython sẽ được khởi chạy như mặc định.

Note1: tất nhiên, bạn cần cài đặt IPython hệ thống của bạn để làm việc này Lưu ý 2: trình thông dịch vẫn sẽ phàn nàn như "In [1]: Bảng điều khiển PyDev: sử dụng trợ giúp mặc định (IPython không khả dụng)" đó là bởi vì nó in nó tự động trước khi bạn có cơ hội để nhập IPython.

Hy vọng điều này sẽ giúp ích !! Tạm biệt!!