Python中的循环导入依赖项假设我有以下目录结构:a\
__init__.py
b\
__init__.py
c\
__init__.py
c_file.py
d\
__init__.py
d_file.py在a包中__init__.py,c导入包。但是c_file.py进口a.b.d。程序失败,说尝试导入b时不存在。(它确实不存在,因为我们正在进口它。)c_file.pya.b.d如何解决这个问题呢?
3 回答

泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
如果一个取决于c和c取决于a,那么它们实际上不是同一个单位吗?
你应该仔细研究为什么你将a和c分成两个包,因为要么你有一些代码你应该拆分成另一个包(使它们都依赖于那个新的包,而不是彼此),或者你应该合并它们成一个包。

料青山看我应如是
TA贡献1772条经验 获得超8个赞
我想知道这几次(通常在处理需要彼此了解的模型时)。简单的解决方案就是导入整个模块,然后引用您需要的东西。
所以不要这样做
from models import Student
在一个,和
from models import Classroom
在另一方面,就这样做
import models
在其中一个,然后调用models.Classroom当你需要它。
添加回答
举报
0/150
提交
取消