什麼是從應用程序中使用的特定包中查找所有python模塊的簡單方法?查找正在導入哪些python模塊
39
A
回答
35
sys.modules
是一個字典映射模塊名的模塊。您可以檢查其鍵以查看導入的模塊。
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
這個大列表中感興趣的模塊! - )
1
我認爲modulefinder是你要找的。您可以直接使用modulefinder.py
,將其作爲腳本運行,也可以使用modulefinder.ModuleFinder
類import the module and then create a report。
+0
它沒有提供儘可能多的@Alex Martelli答案提供的信息。 – user183037 2011-04-21 06:23:03
0
一個真正簡單的方法是從包或文件夾刪除所有pyc文件,然後運行該應用程序。一旦你玩了一下,做一個目錄列表,看看哪些文件現在有.pyc文件。這些是由應用程序導入的模塊。 (注意:__main__
模塊,無論你調用哪個「main」腳本,都不會被編譯,所以除非在應用程序中導入它,否則你不應該期望看到.pyc文件。如果它確實發生,通常是一個問題的跡象。)
相關問題
- 1. Python可以尋找哪些模塊?
- 2. Python:在我的過程中導入了哪些模塊?
- 3. 在Python中正確導入模塊
- 4. 如何知道哪些Python模塊不需要導入?
- 5. Python模塊導入*
- 6. Python模塊導入
- 7. 在Python中導入模塊
- 8. 模塊從哪裏導入?
- 9. Django,在哪裏導入您的模塊
- 10. Python子模塊:「導入爲」與「導入」
- 11. Python導入模塊vs導入_module
- 12. 動態導入Python模塊
- 13. 動態導入Python模塊
- 14. Python模塊導入NameError
- 15. 的Python - 導入模塊
- 16. python模塊導入錯誤
- 17. python導入相關模塊
- 18. Python模塊/導入數據?
- 19. 從Bash導入Python模塊
- 20. Python導入無模塊
- 21. Python模塊導入錯誤
- 22. 導入python作業模塊
- 23. python無法導入模塊
- 24. 編譯python模塊導入
- 25. 導入模塊錯誤Python
- 26. python模塊導入問題
- 27. 模塊導入錯誤Python
- 28. Python模塊導入問題
- 29. 導入python模塊失敗
- 30. 導入Python模塊錯誤
好吧,那很容易! – 2010-01-04 04:09:48
您忘記了參考資料:http://docs.python.org/library/sys.html#sys.modules – 2010-01-04 11:14:07
我不確定詳細信息,但實際上並未包含** ALL **可用軟件包。我試圖確定python在哪裏導入不在列表中的'multiprocessing'。使用'python -v',並使用verbose標誌。 – 2015-06-12 01:56:04