2013-06-16 2 views
14

IPython अगर मैं ipython सामान्य रूप से चलते आदेश इतिहास को याद करता है, जैसे कि गड़बड़ करने के लिए चारों ओर repl में बुनियादी बातें परीक्षण, लेकिन मैं पिछले डिबग सत्र से डिबगिंग आदेशों ऊपर खींचने के लिए सक्षम होने के लिए चाहते हैं, और मैं बस सामान्य, जहां कार्यक्रमIPython ipdb, जब ipdb.set_trace() के माध्यम से लागू किया, आदेश इतिहास को याद नहीं करता है, जबकि डिबगिंग

शामिल के रूप में मेरे कार्यक्रम चलाकर मेरी डिबगिंग कर रहा हूँ
import ipdb 
def info(type, value, info): 
    import traceback 
    traceback.print_exception(type, value, info) 
    ipdb.pm() 

import sys 
sys.excepthook = info 
trace = ipdb.set_trace 

इसे सेट अप करना है, इसलिए मैं प्रोग्राम चलाने के दौरान वहां डिबगिंग शुरू करने के लिए अपने प्रोग्राम में कहीं भी trace() लिख सकता हूं, या इसके लिए पोस्टमॉर्टम डीबगिंग स्वचालित रूप से शुरू होने पर इसे अपने आप मरने पर शुरू कर सकता है।

IPython साथ अजगर कई अन्य भाषाओं से परे सीमा किया गया है जब यह त्वरित कोड/परीक्षण पुनरावृत्तियों की बात आती है और मैं बस इतना इस बिंदु पर निर्वाण के करीब हूँ ...

+0

वहाँ सहेजे गए हैं मुझे लगता है कि मैं कहीं SQLite के बारे में कुछ देखा। शायद एक बार जब मैं स्थापित करूँगा तो यह काम करना शुरू कर देगा? –

+0

ऐसा लगता है कि [इस बग] (https://github.com/ipython/ipython/issues/682) पर पहुंच जाते हैं या एक IPython के भीतर एक संबंधित। – pwaller

+0

डॉन। 3 महीने और मैं भी याद नहीं कर सकते, तो इस समस्या को हल किया गया है या नहीं, मैं अपने एक अजगर स्क्रिप्ट है कि इस का उपयोग करता है के साथ के बारे में खिलवाड़ नहीं किया गया है। मुझे लगता है कि आईपीथॉन को याद नहीं होगा * कुछ भी * यदि SQLite कॉन्फ़िगर नहीं किया गया है, जो इंगित करेगा कि यह एक बग है अगर उसे कुछ समय याद आया। मुझे बाद में इसकी जांच करनी होगी; मेरी किकस्टार्ट स्क्रिप्ट पहले से ही 'पाइप इंस्टॉल' ipython और sqlite (और readline) पर सेट है। @pwaller लिंक करने के लिए धन्यवाद, ब्रेडक्रंब –

उत्तर

3

मैं pudb बजाय का उपयोग करें। यह डीबगर से कोई वास्तविक IPython खोल के लिए हो रही सक्षम बनाता है और सभी आदेशों

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