什么是从应用程序中使用的特定包中查找所有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. Python模块导入*
- 9. Python模块导入
- 10. 导入Python模块
- 11. Python导入模块
- 12. python导入模块
- 13. 在Python中导入模块
- 14. 在Python中导入模块
- 15. 在Python中导入模块
- 16. 模块从哪里导入?
- 17. AWS Lambda + Redshift + Python:无法导入模块。 psycopg2模块未找到
- 18. Powershell导入模块找不到模块
- 19. Python路径来查找要导入的模块/类
- 20. 的Python:模块的导入模块
- 21. Django,在哪里导入您的模块
- 22. 如何找出哪些模块蟒蛇
- 23. Python子模块:“导入为”与“导入”
- 24. Python导入模块vs导入_module
- 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