2010-01-04 6 views

उत्तर

35

sys.modules मॉड्यूल के लिए एक शब्दकोश मैपिंग मॉड्यूल नाम है। आप आयातित मॉड्यूल देखने के लिए अपनी चाबियों की जांच कर सकते हैं।

+2

अच्छी तरह से आसान था! –

+2

आप संदर्भ भूल गए: http://docs.python.org/library/sys.html#sys.modules –

+1

मुझे यकीन नहीं है कि क्यों ब्योरे हैं लेकिन इसमें वास्तव में ** सभी ** उपलब्ध पैकेज नहीं हैं। मैं यह पहचानने की कोशिश कर रहा था कि पाइथन 'मल्टीप्रोसेसिंग' आयात कर रहा था जो सूची में नहीं था। वर्बोज़ झंडा के साथ, 'पायथन-वी' का उपयोग करना। –

31

आप python -v इस्तेमाल कर सकते हैं, जो के बारे में संदेश उत्सर्जित करेगा हर आयातित मॉड्यूल:

$ echo 'print "hello world"' > helo.py 
$ python -v helo.py 
# installing zipimport hook 
import zipimport # builtin 
# installed zipimport hook 
# /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site.pyc matches /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site.py 
import site # precompiled from /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site.pyc 
# /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.pyc matches /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.py 
import os # precompiled from /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.pyc 
import posix # builtin 
# /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.pyc matches /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.py 
import posixpath # precompiled from /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.pyc 

... और इतने पर, और इसके आगे। बेशक आप बाद में grep इस बड़ी सूची में रुचि के मॉड्यूल कर सकते हैं! -)

+4

यह स्वीकार्य उत्तर होना चाहिए था। – Escualo

+0

लिनक्स के तहत आपको gyp को अनुमति देने के लिए python -v helo.py 2> stuff.txt का उपयोग करना होगा, जैसा -v-stdr को आउटपुट लगता है। – Martlark

1

मुझे लगता है कि modulefinder वह है जिसे आप ढूंढ रहे हैं। आप सीधे modulefinder.py का उपयोग कर सकते हैं, इसे वर्णित एक स्क्रिप्ट के रूप में चला रहे हैं, या modulefinder.ModuleFinder कक्षा का उपयोग कर import the module and then create a report कर सकते हैं।

+0

यह @Alex Martelli के उत्तर के रूप में अधिक जानकारी प्रदान नहीं करता है। – user183037

0

पैकेज या फ़ोल्डर से सभी .pyc फ़ाइलों को हटाने के लिए एक असली सरल विधि है, और फिर एप्लिकेशन चलाएं। एक बार जब आप थोड़ा बजाएंगे, तो एक निर्देशिका सूची बनाएं और देखें कि कौन सी फाइलें .pyc फाइलें हैं। वे मॉड्यूल हैं जो आवेदन द्वारा आयात किए गए थे।

(नोट: __main__ मॉड्यूल, जो भी आप "मुख्य" स्क्रिप्ट के रूप में आते हैं, कभी भी संकलित नहीं होता है, इसलिए आपको इसके लिए एक .pyc फ़ाइल देखने की उम्मीद नहीं करनी चाहिए जब तक कि इसे एप्लिकेशन के भीतर से आयात नहीं किया जाता। यह है यदि ऐसा होता है तो अक्सर समस्या का संकेत।)

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