2017-02-28 4 views
8

में रिमोट डीबगिंग पायथन परियोजना मैं रिमोट मशीन पर तैनात एक पायथन परियोजना डीबग करना चाहता हूं। मैं .pem फ़ाइल का उपयोग कर टर्मिनल के माध्यम से उस मशीन तक पहुंच सकता हूं। मैंने एक ही प्रोजेक्ट को आंतरिक गिटलैब रेपो से क्लोन किया है और इसे PyDev प्रोजेक्ट के रूप में ग्रहण में आयात किया है।ग्रहण

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

अग्रिम धन्यवाद।

+0

केवल आपके ग्रहण में Pydev स्थापित करते हैं, अपने अजगर दुभाषिया चयन करें और एक Pydev सर्वर प्रारंभ बंद किसी भी लाइन में आवेदन डाल के लिए, की जरूरत है "settrace()" । –

उत्तर

0

रिमोट डीबगिंग pydev में थोड़ा बोझिल है।

Here यह कैसे करना है इस पर आधिकारिक पुस्तिका है (चरण 3-4 और नोट 1 पर विशेष ध्यान दें)।

चूंकि आप अपने ग्रहण के समान मशीन पर डीबग सर्वर चला रहे हैं, तो आपको शायद डीबग सर्वर पोर्ट का खुलासा करने के लिए ngrok जैसे कुछ की आवश्यकता होगी (और उस ऐप से कनेक्ट करने में सक्षम हो जिसे आप डिबग करना चाहते हैं)।

0

लंबे समय पहले मैंने आरपीडीबी का उपयोग किया था। https://pypi.python.org/pypi/rpdb यह बहुत अच्छा काम किया।

0

यह ग्रहण के लिए नहीं है, लेकिन सबसे अच्छा रिमोट डीबगर (और सामान्य रूप से डीबगर) मैं अनुशंसा कर सकता हूं कि पुडब है, जो मूल रूप से कंसोल यूआई के साथ पीडीबी है।

आपके मामले में, आप स्क्रिप्ट पर्यावरण चलाने में pudb स्थापित करने की आवश्यकता:

pip install pudb 

फिर, स्क्रिप्ट अपने आप में, डाल:

from pudb.remote import set_trace 

set_trace(term_size=(80, 24)) 

अपनी स्क्रिप्ट में इस बिंदु तक पहुंच जाती है, स्क्रिप्ट होगा कुछ इस तरह प्रिंट और लटका:

pudb:6899: Please telnet into 127.0.0.1 6899. 
pudb:6899: Waiting for client... 

क्या आप फिर n ऐसा करने के लिए eed सिर्फ दूरस्थ प्रणाली में SSH और टेलनेट का उपयोग किया जाता है:

ssh [email protected] 
telnet 127.0.0.1 6899