Python中的循環(huán)導入依賴項假設我有以下目錄結(jié)構: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條經(jīng)驗 獲得超3個贊
如果一個取決于c和c取決于a,那么它們實際上不是同一個單位嗎?
你應該仔細研究為什么你將a和c分成兩個包,因為要么你有一些代碼你應該拆分成另一個包(使它們都依賴于那個新的包,而不是彼此),或者你應該合并它們成一個包。

料青山看我應如是
TA貢獻1772條經(jīng)驗 獲得超8個贊
我想知道這幾次(通常在處理需要彼此了解的模型時)。簡單的解決方案就是導入整個模塊,然后引用您需要的東西。
所以不要這樣做
from models import Student
在一個,和
from models import Classroom
在另一方面,就這樣做
import models
在其中一個,然后調(diào)用models.Classroom當你需要它。
添加回答
舉報
0/150
提交
取消