尝试运行runserver或shell使用时manage.py出现ImportError异常。我正在使用 Django 1.9。
ImportError: No module named 'django.utils.importlib'
尝试运行runserver或shell使用时manage.py出现ImportError异常。我正在使用 Django 1.9。
ImportError: No module named 'django.utils.importlib'
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