2011-09-15 16 views
12

में पायथन कोड डिबगिंग मैं लिखने और पायथन स्क्रिप्ट चलाने के लिए नोटपैड ++ का उपयोग करता हूं। यह डिबगिंग को छोड़कर, एक महान पाठ संपादक है। क्या कोड के माध्यम से कदम उठाने का कोई तरीका है, ब्रेक पॉइंट्स का उपयोग करें, वैरिएबल वैल्यू आदि देखें नोटपैड ++ में जैसे आप विजुअल स्टूडियो में कर सकते हैं?नोटपैड ++

उत्तर

10

करता है इस तरह के एक प्लग-इनमौजूद? मेरी जानकारी में नहीं। मैं उस नोट पर qor72 के साथ पूरी तरह से सहमत हूं।

क्या ऐसी प्लगइन/कार्यक्षमता बनाना संभव है? संभवतः।

कुछ त्वरित खुदाई करने के बाद, मुझे एक प्लगइन मिला जो आशाजनक लग रहा है, Python Script। संक्षेप में यह आपको पाइथन स्क्रिप्ट चलाने की अनुमति देता है जो एनपीपी मॉड्यूल (फ़ाइल मेनू इत्यादि ...) के साथ-साथ Scintilla Methods तक पहुंच सकता है जो पृष्ठों पर मार्करों जैसी चीज़ों तक पहुंच प्रदान करने के लिए दिखाई देता है।

ऐसी उपलब्धि पूरा करने के लिए मैं काम में कुछ बड़े ब्लॉकों में तोड़ दिया जा रहा है देख सकते हैं (मैं एक नया खुला स्रोत परियोजना पर आने वाले महसूस ...)

  • अजगर स्क्रिप्ट का उपयोग करना, एकीकृत python debugger(PDB) के रूप में शशी द्वारा वर्णित
  • स्फुलिंग तरीके का उपयोग करना, वापस कॉल जहां एक एनपीपी मार्कर
  • पुनर्निर्देशन PDB आउटपुट रखा गया है का पता लगाने जोड़ने और उन्हें की प्रक्रिया को दिखाने के लिए जहां फ़ाइल (फिर से स्फुलिंग तरीकों का उपयोग कर) बंद कर दिया है।
  • नए बनाए गए ब्रेकपॉइंट पर और पीडीबी का उपयोग करते हुए वर्तमान नामस्थान में सभी चर निर्धारित करते हैं।यह जानकारी ले लो और एक अध्यक्ष एवं प्रबंध निदेशक खिड़की करने के लिए इसे डंप, या कुछ जीयूआई Tk/wxPython

समापन विचार के साथ बनाया आप कल्पना प्राप्त करना चाहते हैं, तो
जबकि मुझे लगता है कि इस तरह के एक प्लग बनाने के लिए संभव है, मैं काफी उपक्रम होगा। उस रेखा के साथ, आप एक अलग संपादक को खोजने की कोशिश करना बेहतर हो सकते हैं, जिसने इसे पहले से बनाया है और केवल एनपीपी के बारे में सबसे ज्यादा पसंद करने वाली चीज़ों में जोड़ने के लिए मैक्रोज़ (या जो भी आईडीई उन्हें कॉल करता है) बनाएं।

कृपया ध्यान दें कि मैं एनपीपी का दैनिक उपयोगकर्ता हूं और कई सालों से रहा हूं इसलिए मैं समझ में आता हूं कि आप एनपीपी में कार्यात्मक रूप से क्यों जुड़ना चाहते हैं। एनपीपी के बारे में मेरी पसंदीदा चीजों में से एक वह गति है जिसमें यह खुलती है और फाइलों की खोज करती है ... एक फुले हुए आईडीई, आईएमओ में जाने से, यह मेरे लिए लायक नहीं होगा।

मेरा वर्तमान कार्य प्रवाह एनपीपी में मेरे सभी संपादन करना है और मॉड्यूल चलाने के लिए बस डबल क्लिक करना है। यदि यह खरपतवार में विफल रहता है या बंद हो जाता है, तो मैं इसे डीबग करने के लिए आईडीएल लॉन्च करता हूं।

8

मुझे उम्मीद है कि कोई मुझे बताएगा कि मैं गलत हूं (मुझे यह सुविधा नोटपैड ++ में रखना पसंद है) लेकिन, नोटपैड ++ को प्रोग्रामर संपादक के रूप में डिज़ाइन किया गया है, आईडीई नहीं। हालांकि इसमें बहुत अच्छी कार्यक्षमता है, लेकिन डिबगिंग का स्तर कोर टूल का हिस्सा नहीं है।

npp-plugins में कुछ भी नहीं देख रहा है।

5

मुझे लगता है कि python debugger अगर संपादक सुविधा :)

Quick guide:

from pdb import set_trace as bp 

code 
code 
bp() 
code 
code 

प्रदान नहीं कर रहा है (Pdb) प्रॉम्प्ट पर, foo मुद्रित करने के लिए कदम s दर्ज करें, p foo सबसे अच्छा विकल्प है, और c को एक और ब्रेकपॉइंट मारने तक कोड निष्पादित करना जारी रखें।

+0

http://stackoverflow.com/questions/6980749/simpler-way-to-put-pdb-breakpoints-in-python- उपयोग के लिए कोड देखें। –

2

क्या आपने कॉमोडो का उपयोग करने के बारे में सोचा है। यह खुला स्रोत है और इसमें विंडोज, लिनक्स और मैक (मुझे लगता है) के लिए बंदरगाह हैं।

यह एक विकल्प हो सकता है, और यदि आप, नोटपैड ++ से उन कुछ सलाह चाहते हैं यह बहुत ही साइट पर निम्नलिखित पोस्ट पर एक नजर है:

Komodo Edit and Notepad++ ::: Pros & Cons ::: Python dev

कुछ एनपीपी उपयोगकर्ताओं यहाँ बना दिया है लग रहा था आदि चल अजगर संपादन के लिए स्विच ...

व्यक्तिगत रूप से कोमोडो पर डिबगिंग के बारे में ज्यादा पता नहीं है, लेकिन के रूप में यह एक IDE है, तो हैरान करता है, तो आप इसे आसानी से नहीं कर सका होगा

2

मुझे वास्तव में नहीं लगता कि Shashi's answer को क्यों नहीं हटाया गया है। ओपी ने अनुरोध किया है कि लिंक के लिए उसने पाइथन स्क्रिप्ट के माध्यम से कदम उठाने का एक तरीका दिया है।

तो पीडीबी मॉड्यूल के बारे में जो लोग नहीं जानते हैं, उनके लिए pdb.set_trace() फ़ंक्शन आयात करने के बाद कोड के क्षेत्र के माध्यम से कदम उठाने की अनुमति देता है। और यह डिबगिंग के दृश्य स्टूडियो विधि के समान ही है। जबकि आप कोड के माध्यम से कदम उठा रहे हैं आप विभिन्न प्रकार के आदेश इनपुट करने में सक्षम हैं।

उनमें से एक p <expression> है और यह उपयोगकर्ता को स्थानीय और वैश्विक दायरे में चर की वर्तमान स्थिति मुद्रित करने की अनुमति देता है।

+0

इसमें जानकारी की कमी है, और एक मृत लिंक का जोखिम है। –