我想从其实现中划分一些抽象代码,并将实际实现链接为__init__.py
中的导入。
我的'model/__init__.py'
看起来像这样:
from .estimator import AbstractEstimator
# link default estimator implementation
from impl.tf import TF_Estimator as Estimator
但是,TF_Estimator是'model.AbstractEstimator'
:
from model import AbstractEstimator
class TF_Estimator(AbstractEstimator):
...
如何解决此循环依赖?
有没有办法“忽略”'TF_Estimator'
中'model/__init__.py'
的导入?
我的目标是,我可以运行"from model import Estimator"
并最终获得"TF_Estimator"
。
答案 0 :(得分:-1)
The solution was pretty simple, thanks to @chepner:
Simply use from model.estimator import AbstractEstimator
in TF_Estimator; This skips loading 'model/__init__.py'