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