import_module 的 Django 1.9 ImportError
Posted
技术标签:
【中文标题】import_module 的 Django 1.9 ImportError【英文标题】:Django 1.9 ImportError for import_module 【发布时间】:2015-12-22 01:39:54 【问题描述】:当尝试使用manage.py
运行runserver
或shell
时,我得到ImportError
异常。我正在使用 Django 1.9。
ImportError: No module named 'django.utils.importlib'
【问题讨论】:
请注意,Django 1.9 刚刚达到 alpha 状态,不适合生产使用。除非您有充分的理由,否则请使用 1.8。 谢谢丹尼尔。我目前只在本地开发中运行它,它更多的是帮助 Django 团队追踪阻碍稳定发布的问题。 Django 1.9 现已发布。 【参考方案1】: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 的一部分,因此如果不再使用它,可以随时将其删除 - 即使在次要版本升级中也是如此。
【讨论】:
【参考方案2】:我用以下方法解决了这个问题:
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 从 1.7 更新到 1.9。并停止工作。 看起来像 endend_pagination 或类似的错误 谢谢。我安装了 django-request 来监控流量。我在 plugins.py 和 traffic.py 中进行了您建议的更改,现在一切正常。 你好我只是想问一下文件我应该写这段代码吗? 对我来说更安全的解决方案以上是关于import_module 的 Django 1.9 ImportError的主要内容,如果未能解决你的问题,请参考以下文章