2012-12-14 27 views
21

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

मैं इंटरनेट, जो एक एक अजगर स्क्रिप्ट में कुछ सरल ग्राफिक चीज़ें करने में मदद करता है पर this ग्राफिक्स मॉड्यूल (जहाँ तक मैं समझता हूँ) मिल गया।

यह पसंद नहीं है मैं अटक कर रहा हूँ, लेकिन जब मैं folowing कोड निष्पादित करें:

import pylab as p 
import graphics as g 

window = g.GraphWin("tryout", 600, 600) 
window.close() 
print p.sqrt(4) 

उत्पादन होता है:

>>>runfile(r'C:\some\folders\tryout.py', wdir=r'C:\some\folders') 
>>>UMD has deleted: graphics 
>>>2.0 

लाइन 1 स्पष्ट रूप से भला है और इसलिए लाइन 3 है, लेकिन मुझे लाइन 2 नहीं मिलती है। इसके अलावा, उत्तेजित खिड़की स्क्रीन के अंदर और बाहर चमकती है, जैसा कि इसे करना चाहिए। लाइन 2 किसी भी नुकसान का प्रतीत नहीं होता है, और मैं जितनी बार चाहूं फ़ाइल को पूरी तरह से पुन: चालू कर सकता हूं, लेकिन मैं जानना चाहता हूं कि यह कहां से आ रहा है।

AFAIK UMD दुभाषिया को हर बार एक स्क्रिप्ट चलाने के लिए मॉड्यूल को फिर से लोड करने के लिए मजबूर करता है। क्या प्रदर्शित संदेश का अर्थ है कि 'इसे' मॉड्यूल के संदर्भों को हटा दिया गया है, क्योंकि इसका अब उपयोग नहीं किया गया है, या यह कुछ और है? या इसका मतलब यह है कि कुछ गलत है, और क्या यह मेरे कोड को 'चोट पहुंचाएगा' क्या मुझे बाद में और जोड़ना चाहिए?

नोट: पहला प्रश्न, इसलिए कृपया मेरे पूछने के कौशल में सुधार करने में मेरी सहायता के लिए बकवास पर टिप्पणी करें।

संपादित करें: मैंने परीक्षण लाइन print p.sqrt(4) के आसपास स्थानांतरित करने की कोशिश की, और पाया कि इससे कोई फर्क नहीं पड़ता कि मैंने इसे कहां रखा है। इसकी पहली पंक्ति मॉड्यूल आयात करने के बाद, यह अभी भी संदेश दिखा sqrt (4)

उत्तर

43

लघु जवाब से पहले raisses हैं:

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

लांग जवाब:

UMD न केवल अपनी स्क्रिप्ट लेकिन यह भी सभी स्थानीय मॉड्यूल को पुनः लोड करता है उस पर निर्भर करता है। स्थानीय मेरा मतलब है कि आपके पायथन इंस्टॉलेशन के बाहर मॉड्यूल और जिनके पास आपके पास लेखन अनुमतियां हैं।

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

मैं जानता हूँ कि यह आपका मामला नहीं है, तो आप उस संदेश को निकालना चाहते हैं, तो आप पर जा सकते हैं:

उपकरण>पसंद>कंसोल>उन्नत सेटिंग>उपयोगकर्ता मॉड्यूल Deleter

और विकल्प को निष्क्रिय

शो फिर से लोड मॉड्यूल सूची

+0

स्पष्टीकरण के लिए धन्यवाद ... =) – Kraay89

+0

उपयोगी, उदाहरण के लिए मायावी का उपयोग करते समय यह बहुत लंबी सूची प्रिंट करता है, क्योंकि यह "पुनः लोड मॉड्यूल सूची दिखाएं" डिबगिंग के लिए अधिक है, इसे अक्षम नहीं किया जाना चाहिए डिफ़ॉल्ट रूप से? – dashesy

+2

मुझे नहीं लगता कि यह डिबगिंग के लिए है; यह उपयोगकर्ता को सूचित करने के बारे में अधिक है कि अगले निष्पादन से पहले मॉड्यूल को फिर से लोड किया गया है। आपके मामले में, चूंकि मुझे लगता है कि आपके पास मायावी स्थानीय रूप से स्थापित है, तो आप इसके लिए संदेश को निष्क्रिय मॉड्यूल की सूची में जोड़कर निष्क्रिय कर सकते हैं। –