के माध्यम से डीबग पिलोन एप्लिकेशन मेरे पास पाइडेव के साथ ग्रहण सेटअप है और प्यार मेरी स्क्रिप्ट/ऐप्स को डीबग करने में सक्षम है। मैंने अभी तक पिलों के साथ खेलना शुरू कर दिया है और सोच रहा था कि ग्रहण के माध्यम से पास्टर सर्वर शुरू करने का कोई तरीका है तो क्या मैं अपना वेबपैब डीबग कर सकता हूं?ग्रहण
ग्रहण
उत्तर
एक नया लांच विन्यास (अजगर रन)
मुख्य टैब बनाएं
उपयोग paster-script.py मुख्य मॉड्यूल (आप इसे अपने अजगर स्थापना निर्देशिका में स्क्रिप्ट पर सब-निर्देशिका में पा सकते हैं के रूप में)
तर्क 012 PYTHONPATH क्षेत्र में अपने आवेदन के रूट फ़ोल्डर जोड़ने के लिए मत भूलनारूट निर्देशिका को मूल फ़ोल्डर में भी सेट करें।
के रूप में कार्यक्रम तर्क "development.ini सेवा" का उपयोग करें (या जो भी आप अपने अनुप्रयोग "डिबग करने के लिए उपयोग करें)
आम टैब
चेक पृष्ठभूमि में सांत्वना और प्रक्षेपण के आवंटन
yanjost है यह सही है, बस यह जोड़ना चाहता था कि आपको यह सुनिश्चित करने की ज़रूरत है कि आप --reload विकल्प का उपयोग नहीं करते हैं, यह डीबगर को स्वयं को ठीक से जोड़ने से रोक देगा और आपके ब्रेकपॉइंट्स को काम न करने का कारण बन जाएगा। बस थोड़ी सी चीज़ में मैंने भाग लिया।
linux पर शायद हो/usr/bin/paster या/usr/स्थानीय/bin/पेस्ट स्क्रिप्ट के लिए paster, और तर्क के लिए मैं होगा: $ {workspace_loc} $ {project_path} /development.ini की सेवा
मैं डिफॉल्ट टैब का उपयोग न करने के लिए तर्क टैब में 'वर्किंग डायरेक्टरी' को बदलकर काम करना चाहता हूं (यानी 'अन्य' -> फ़ाइल सिस्टम -> 'अपने पिलों का रूट' ऐप चुनें जहां develop.ini संग्रहीत है।
मुझे यह काम भी मिला (अंत में)। मैंने पिलोन स्थापित करने के लिए वर्चुअलएन्व के बजाय बिल्डआउट का उपयोग किया (निर्देश: http://wiki.pylonshq.com/display/pylonscommunity/Howto+install+Pylons+with+buildout), इसलिए ऊपर दिए गए निर्देशों को पथ के रूप में थोड़ा बदलना आवश्यक है।
-किसी "मुख्य मॉड्यूल", मैं का उपयोग करें:
${workspace_loc:myeclipseprojectname/bin/paster}
(जोड़ने --reload breakpoints बनाया मेरे लिए काम नहीं, और मैं इस दो बार परीक्षण किया)
-किसी "कार्यक्रम तर्क ", मैं का उपयोग करें:
serve ${workspace_loc:myeclipseprojectname/mypylonsprojectname/development.ini}
-किसी" वर्किंग निर्देशिका, अन्य: ", मैं का उपयोग करें:
${workspace_loc:myeclipseprojectname/mypylonsprojectname}
- ऊपर वर्णित, "सामान्य टैब" में, "कंसोल आवंटित करें और पृष्ठभूमि में लॉन्च करें"
- और कोशिश करने से पहले ब्रेकपॉइंट सेट करना याद रखें।
आप बल्कि अपने प्रोजेक्ट की कार्यक्षेत्र में अपने अजगर स्थापना शामिल नहीं हैं तो paster प्राप्त करने के लिए, आप बना सकते हैं की तरह एक शुद्ध पायथन चालक: डिबग
#!/usr/bin/env python
from paste.script.serve import ServeCommand
ServeCommand("serve").run(["development.ini"])
... और चलाने/कि ग्रहण में।
नोट: यह --reload
विकल्प के बिना चल रहा है, इसलिए आपको गर्म तैनाती नहीं मिलती है (यानी, आपको परिवर्तन देखने के लिए सर्वर को पुनः लोड करने की आवश्यकता होगी)। वैकल्पिक रूप से, आप गर्म तैनाती प्राप्त करने के लिए --reload
विकल्प जोड़ सकते हैं, लेकिन फिर Pydev आपके ब्रेकपॉइंट्स पर नहीं रुक जाएगा। आपके केक मिल सकता है नहीं है और यह भी खाना ...
ServeCommand("serve").run(["--reload", "development.ini"])
यह वास्तव में कैसे ग्रहण में यह करने के लिए के बारे में सवाल का जवाब नहीं है। लेकिन मैं Winpdb के साथ पास्टर सर्वर डीबगिंग कर रहा हूं, जो काफी अच्छा ग्राफिकल पायथन डीबगर है (आप इसे easy_install winpdb के साथ इंस्टॉल कर सकते हैं)।
बस अपने सर्वर उदा .:
winpdb /usr/local/bin/paster serve development.ini
शुरू करने और चलाने के बटन पर क्लिक करें।
जैसा कि वेने ने कहा, उपयोग --reload विकल्प के लिए आवश्यक है। कम से कम मैं यह जानने में सक्षम नहीं था कि वास्तविक वेबपैप से कैसे जुड़ा हुआ है, जब फोर्कड प्रक्रिया डीबगर को दर्ज करना चाहिए (विभिन्न प्रक्रियाओं को दर्ज करना "कांटा पैरेंट" और "कांटा बच्चा" डीबगर कमांड के साथ नियंत्रित किया जा सकता है)।
मुझे यह भी पता चला कि मेरे मामले पर repoze.profile को सक्षम करने से, बहुत गहरा पुनरावर्तन होता है, जब पास्टर Winpdb के साथ चलाया जाता है। –
- 1. ग्रहण (ग्रहण प्लगइन विकास)
- 2. ग्रहण आरसीपी ग्रहण तिमाही
- 3. ग्रहण - ग्रहण संशोधित server.xml
- 4. ग्रहण: ग्रहण आईडीई
- 5. ग्रहण में स्थापित ग्रहण
- 6. ग्रहण आरसीपी बनाम ग्रहण
- 7. ग्रहण
- 8. ग्रहण
- 9. ग्रहण
- 10. ग्रहण
- 11. ग्रहण
- 12. ग्रहण
- 13. ग्रहण
- 14. ग्रहण
- 15. ग्रहण
- 16. ग्रहण
- 17. ग्रहण
- 18. ग्रहण
- 19. ग्रहण
- 20. ग्रहण
- 21. ग्रहण
- 22. ग्रहण
- 23. ग्रहण
- 24. ग्रहण
- 25. ग्रहण
- 26. ग्रहण
- 27. ग्रहण
- 28. ग्रहण
- 29. ग्रहण
- 30. ग्रहण
यह पिरामिड ऐप्स के लिए भी अद्भुत काम करता है। – Seth