Как получить список всех модулей, доступных для импорта? pip | Python Заметки
Как получить список всех модулей, доступных для импорта?
pip list
Эта команда выдаст список инсталлированных модулей, но не всех что доступны.
help('modules')
или
python -m pydoc modules
Покажет все модули которые можете импортнуть, включая те, что доступны благодаря переменной PYTHONPATH.
Уже лучше, но проблема лишь в том, что функция печатает всё в аутпут, а нам нужен список строк.
Конечно же в Python есть способ сделать всё просто и логично
import pkgutil
modules = [m.name for m in pkgutil.iter_modules()]
Вернёт имена всех модулей, доступных для импорта, кроме builtin модулей.
Просто добавим их отдельно:
import sys
modules.extend(sys.builtin_module_names)
Теперь мы получили полный список всех доступных для импорта модулей и пакетов, включая те, что подгружены через PYTHONPATH или динамически добавлены через sys.path.
#tricks