2013-02-28 7 views
16

मैंने एएमडीएन ईडब्ल्यूएस ईसी 2 पर एपीडी 7.3.2 मुफ्त स्थापित किया और सार्वजनिक नोटबुक सर्वर के रूप में आईपीथॉन नोटबुक को संगत किया।आईपीथॉन: नोटबुक के अंदर कोड डिबगिंग

मैं इस तरह से सर्वर चलाते:

nohup ipython notebook --profile=nbserver % 

सब कुछ ठीक काम कर रहा है, मैं https और कोड पर पासवर्ड के साथ प्रवेश कर सकते हैं।

अब मैं नोटबुक के अंदर पीडीबी/आईपीडीबी डीबग पायथन फ़ंक्शन का उपयोग करना चाहता हूं, लेकिन इंटरनेट पर मुझे डीबगर सेट करने की प्रक्रिया नहीं मिल रही है।

क्या कोई मेरी मदद कर सकता है?

सादर

मास्सिमो

इन इंस्टॉल किए गए पैकेज हैं:

[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

संबंधित: https: // stackoverflow।कॉम/प्रश्न/32409629/क्या-द-द-राइट-वे-टू-डीबग-इन-आईपीथॉन-नोटबुक –

उत्तर

5

यह संभव नहीं!

मैं इस पाया:

"बहुत महत्वपूर्ण बात है, इसका मतलब है कि% डिबग जादू नोटबुक में काम नहीं करता है हम इस सीमा को सही करने का इरादा है, लेकिन इस बीच में, वहाँ में डिबग समस्याओं के लिए एक तरीका है! नोटबुक: आप अपने मौजूदा नोटबुक कर्नेल में एक क्यूटी कंसोल संलग्न कर सकते हैं, और क्यूटी कंसोल से% डीबग चला सकते हैं। "

Ipython Doc

पर

अब बिंदु है:

  • दूरस्थ IPython नोटबुक --profile = nbserver संयुक्त राज्य अमेरिका
  • स्थानीय IPython qtconsole मेरे पीसी
पर चल रहा है EWS EC2 पर चल रहा है

दूरस्थ ईडब्ल्यूएस ईसी 2 पर जेएसओएन कनेक्शन फ़ाइल है:

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

दुर्भाग्य से डीबगर को अभी तक नोटबुक में एकीकृत नहीं किया गया है, लेकिन आप कर्नेल से कनेक्ट करने के लिए और वहां डीबगर चलाने के लिए एक और फ्रंटेंड का उपयोग कर सकते हैं। सबसे आसान तरीका, यदि आपके पास एक्स अग्रेषण सेट अप है, तो %qtconsole चलाएं (http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html#workflow-and-limitations देखें)। आप %connect_info भी चला सकते हैं, फिर उस जानकारी का उपयोग करें जो आपको उसी कर्नेल से जुड़े ipython console (यानी सामान्य टर्मिनल-मोड एक) चलाने के लिए देता है।

+12

संस्करण 1.0 के रूप में,% डीबग अब काम करता है! (http://ipython.org/ipython-doc/stable/whatsnew/version1.0.html#notebook) ध्यान दें कि जब डीबगर सक्रिय होता है, तो आप किसी भी अन्य कोशिकाओं का मूल्यांकन करने में सक्षम नहीं होंगे निष्पादन निष्पादन। –

26

बस @ केन अर्नोल्ड के बिंदु का विस्तार करना ताकि लोगों को इसे समझने के लिए सभी उत्तरों को पढ़ने की आवश्यकता न हो। संस्करण 1.0 के रूप में, डीबगिंग ipython नोटबुक में काम करता है।

बस %debug के साथ सेल शुरू करें और फिर आप ipdb ((n)ext, step इत्यादि) के लिए सामान्य नियंत्रणों का उपयोग करने में सक्षम होंगे।

+1

% डीबग जोड़ना मेरे लिए काम नहीं करता था। – user2725109

संबंधित मुद्दे