Найти, какие модули python импортируются

Какой простой способ найти все модули python из определенного пакета, который используется в приложении?

4 Solutions collect form web for “Найти, какие модули python импортируются”

sys.modules – это имена модулей сопоставления словаря для модулей. Вы можете просмотреть его ключи, чтобы увидеть импортированные модули.

Вы можете использовать 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 модули из интересного из этого большого списка! -)

Я думаю, что modulefinder – это то, что вы ищете. Вы можете напрямую использовать modulefinder.py , запуская его как скрипт, как описано там, или вы можете импортировать модуль, а затем создать отчет, используя класс modulefinder.ModuleFinder .

Реальный простой способ – удалить все файлы .pyc из пакета или папки, а затем запустить приложение. После того, как вы немного поиграли, сделайте список каталогов и посмотрите, какие файлы имеют .pyc-файлы. Это модули, которые были импортированы приложением.

(Примечание: модуль __main__ , в зависимости от того, который вы вызываете как «основной» сценарий, никогда не компилируется, поэтому вы не должны ожидать, чтобы он видел файл .pyc, если только что-то не импортировало его из приложения. Это часто является признаком проблема, если это произойдет.)

  • Организация классов Python в модулях и / или пакетах
  • Колба («приложение») против флакона (__ name__)
  • Является ли заказ сообщенным «sys.path» порядком поиска пакетов?
  • как ссылаться на пакет python, когда имя файла содержит период
  • Python: импортировать модуль один раз для целого пакета
  • Почему эта кнопка не центрирована, Tkinter
  • относительный путь не работает даже с __init__.py
  • Декомпрессия полезной нагрузки пакета с Python
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.