Django 1.9 ImportError для import_module

При попытке запустить либо runserver или же shell с помощью manage.py Я получаю ImportError исключение. Я использую Django 1.9.

ImportError: No module named 'django.utils.importlib'

2 ответа

Решение

django.utils.importlib библиотека совместимости, когда Python 2.6 все еще поддерживается Он устарел начиная с Django 1.7, который отказался от поддержки Python 2.6 и удаляется в 1.9 за цикл устаревания.

Используйте Python import_module функция вместо:

from importlib import import_module

Причина, по которой вы можете импортировать его из django.utils.module_loading в том, что importlib.import_module импортируется в этот модуль, это не потому, что module_loading в любом случае определяет фактическую функцию.

поскольку django.utils.module_loading.import_module не является частью общедоступного API, его можно удалить в любое время, если он больше не используется - даже при незначительном обновлении версии.

Я решил это с помощью следующего:

try:
    # Django versions >= 1.9
    from django.utils.module_loading import import_module
except ImportError:
    # Django versions < 1.9
    from django.utils.importlib import import_module
Другие вопросы по тегам