import_module 的 Django 1.9 ImportError
Django 1.9 ImportError for import_module
当尝试使用 manage.py
运行 runserver
或 shell
时,我得到一个 ImportError
异常。我正在使用 Django 1.9。
ImportError: No module named 'django.utils.importlib'
我用以下方法解决了这个问题:
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
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
不是 public API 的一部分,如果不再使用它可以随时删除 - 即使是在次要版本升级中。
当尝试使用 manage.py
运行 runserver
或 shell
时,我得到一个 ImportError
异常。我正在使用 Django 1.9。
ImportError: No module named 'django.utils.importlib'
我用以下方法解决了这个问题:
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
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
不是 public API 的一部分,如果不再使用它可以随时删除 - 即使是在次要版本升级中。