2013-02-28 8 views
16

Tôi đã cài đặt phiên bản 7.3.2 miễn phí trên amazon EWS EC2 và máy tính xách tay ipython được đồng bộ hóa dưới dạng máy chủ notebook công cộng.Ipython: Gỡ lỗi mã bên trong máy tính xách tay

tôi chạy máy chủ theo cách này:

nohup ipython notebook --profile=nbserver % 

Tất cả mọi thứ đang làm việc tốt, tôi có thể đăng nhập với mật khẩu trên https và mã.

Bây giờ tôi muốn sử dụng chức năng pdb/ipdb để gỡ lỗi python bên trong sổ ghi chép, nhưng trên internet tôi không thể tìm thấy quy trình cách thiết lập trình gỡ lỗi.

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

Trân

Massimo

Đây là những gói cài đặt:

[email protected]:/opt/epdFree7.3.2/bin# ./pip freeze 
EPD==7.3 
Examples==7.3 
Jinja2==2.6 
MKL==10.3 
PIL==1.1.7 
Pygments==1.4 
PythonDoc==2.7.3 
appinst==2.1.2 
apptools==4.1.0 
casuarius==1.0 
chaco==4.2.0 
cloud==2.4.6 
configobj==4.7.2 
distribute==0.6.26 
enable==4.2.0 
enaml==0.2.0 
enstaller==4.5.6 
etsproxy==0.1.1 
freetype==2.4.4 
idle==2.7.3 
ipdb==0.7 
ipython==0.13.1 
kernmagic==0.1.0 
matplotlib==1.1.0 
nose==1.1.2 
numpy==1.6.1 
ply==3.4 
pyaudio==0.2.4 
pyface==4.2.0 
pyglet==1.1.4 
python-dateutil==1.5 
pytz==2011n 
pyzmq==2.1.11 
scipy==0.10.1 
tornado==2.2 
traits==4.2.0 
traitsui==4.2.0 
wsgiref==0.1.2 
wxPython==2.8.10.1 

[email protected]:/opt/epdFree7.3.2/bin# ./enpkg -l 
prefix: /opt/epdFree7.3.2 
Name     Version    Store 
============================================================ 
appinst    2.1.2-1    - 
apptools    4.1.0-1    - 
casuarius   1.0-1    - 
chaco    4.2.0-1    - 
cloud    2.4.6-1    - 
configobj   4.7.2-2    - 
distribute   0.6.26-1    - 
enable    4.2.0-1    - 
enaml    0.2.0-1    - 
enstaller   4.5.6-1    api rh5-64 
EPD     7.3-0    - 
etsproxy    0.1.1-1    - 
Examples    7.3-0    - 
freetype    2.4.4-1    - 
idle     2.7.3-1    - 
ipython    0.13.1-2    api rh5-64 
Jinja2    2.6-2    - 
kernmagic   0.1.0-1    - 
matplotlib   1.1.0-1    - 
MKL     10.3-1    api rh5-64 
nose     1.1.2-1    - 
numpy    1.6.1-3    api rh5-64 
PIL     1.1.7-3    - 
ply     3.4-1    - 
pyaudio    0.2.4-1    - 
pyface    4.2.0-1    - 
pyglet    1.1.4-2    - 
Pygments    1.4-1    - 
python_dateutil  1.5-2    - 
PythonDoc   2.7.3-1    - 
pytz     2011n-1    - 
pyzmq    2.1.11-1    - 
scipy    0.10.1-0    - 
tornado    2.2-1    - 
traits    4.2.0-1    - 
traitsui    4.2.0-1    - 
+0

Related: https: // stackoverflow.com/questions/32409629/what-is-the-right-way-to-debug-in-ipython-notebook –

Trả lời

5

Đó là không thể!

Tôi thấy điều này:

"Rất quan trọng, điều này có nghĩa rằng% debug kỳ diệu không hoạt động trong máy tính xách tay Chúng tôi dự định sửa hạn chế này, nhưng trong khi chờ đợi, có một cách để gỡ lỗi trong! sổ ghi chép: bạn có thể đính kèm bảng điều khiển Qt vào hạt nhân máy tính xách tay hiện có của mình và chạy% debug từ bảng điều khiển Qt. "

trên Ipython Doc

Bây giờ vấn đề là:

  • máy tính xách tay ipython xa --profile = nbserver đang chạy trên EWS EC2 USA
  • địa phương ipython qtconsole đang chạy trên máy tính của tôi

tệp kết nối JSON trên EWS EC2 từ xa là:

{ 
    "stdin_port": 55986, 
    "ip": "127.0.0.1", 
    "hb_port": 55385, 
    "key": "984e86e7-4d88-4d74-8912-cbe46bc316c0", 
    "shell_port": 49024, 
    "iopub_port": 33440 
} 
8

Thật không may trình gỡ lỗi chưa được tích hợp vào sổ ghi chép, nhưng bạn có thể sử dụng một giao diện người dùng khác để kết nối với hạt nhân và chạy trình gỡ lỗi ở đó thay thế. Cách dễ nhất, nếu bạn đã thiết lập chuyển tiếp X, hãy chạy %qtconsole (xem http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html#workflow-and-limitations). Bạn cũng có thể chạy %connect_info, sau đó sử dụng thông tin nó cung cấp cho bạn để chạy ipython console (tức là, chế độ đầu cuối thông thường) được kết nối với cùng một hạt nhân.

+12

Kể từ phiên bản 1.0,% debug hiện hoạt động! (http://ipython.org/ipython-doc/stable/whatsnew/version1.0.html#notebook) lưu ý rằng mặc dù trình gỡ lỗi đang hoạt động, bạn sẽ không thể đánh giá bất kỳ ô nào khác, giống như bất kỳ ô nào khác thực thi -running. –

26

Chỉ cần mở rộng điểm @Ken Arnold để mọi người không phải đọc tất cả các câu trả lời để tìm hiểu điều này. Kể từ phiên bản 1.0, gỡ lỗi LÀM VIỆC trong sổ ghi chép ipython.

Chỉ cần khởi động ô với %debug và sau đó bạn sẽ có thể sử dụng các điều khiển điển hình cho ipdb ((n)ext, step, v.v ...).

+1

Thêm% gỡ lỗi không hoạt động đối với tôi. – user2725109