【问题标题】:Cyclic import error循环导入错误
【发布时间】:2016-12-01 00:23:35
【问题描述】:

无论我尝试从我的 pupils 应用程序导入什么,都会收到导入错误。例如:

offices/models.py

from pupils.models import Pupils  # => ImportError: cannot import name Pupils

我敢打赌,路径是正确的,PyCharm 会读取它。顺便说一句,一切都可以从其他应用程序中正常导入。

【问题讨论】:

  • 尝试相对导入from .models import Pupils
  • @SergeyGornostaev 它不起作用,因为我正在尝试在另一个应用程序中导入我的模型。
  • 您会遇到循环导入问题吗? pupils.models 中是否有尝试从该文件导入的代码?
  • @solarissmoke 是的。这个问题的解决方法是什么?
  • 将你的导入移到使用它的方法中,而不是放在模块的顶部。

标签: python django import python-import


【解决方案1】:

我猜你遇到了cyclic imports 的问题。

修复它的简单方法是稍后导入Pupils

def where_you_need_pupils():
    from pupils.models import Pupils
    # do something

【讨论】:

  • 是的。我实际上确实遇到了循环进口问题。之前就知道了。谢谢。