Как проверить, существует ли модуль python и может ли он быть импортирован [дубликат]

Я использую панель инструментов отладки с django и хочу добавить ее в проект, если выполняются два условия:

  • settings.DEBUG is True
  • сам модуль существует

Нетрудно сделать первый

# adding django debug toolbar
if DEBUG:
    MIDDLEWARE_CLASSES += 'debug_toolbar.middleware.DebugToolbarMiddleware',
    INSTALLED_APPS += 'debug_toolbar',

Но как мне проверить, существует ли модуль?

Я нашел это решение:

try:
    import debug_toolbar
except ImportError:
    pass

Но поскольку импорт происходит где-то еще в django, мне нужна логика if / else чтобы проверить, существует ли модуль, чтобы я мог проверить его в settings.py

def module_exists(module_name):
    # ??????

# adding django debug toolbar
if DEBUG and module_exists('debug_toolbar'):
    MIDDLEWARE_CLASSES += 'debug_toolbar.middleware.DebugToolbarMiddleware',
    INSTALLED_APPS += 'debug_toolbar',

Есть ли способ сделать это?

25
задан ArtOfWarfare 2 July 2014 в 16:02
поделиться