我遇到了循环依赖问题,只是在网上找到一些建议,建议最好导入整个模块,而不是导入模块中的特定项目。在发生循环依赖问题之前,我对导入没有任何疑问。
因此,根据博客的建议,我在包含一些模型的文件夹中设置了__init__.py
,并将每个模型导入其中,现在当我尝试从该模块导入时,被告知该模块没有有我要寻找的属性。
所以我有这个文件结构:
└── root
├── models
│ ├── __init__.py
│ ├── a.py
│ └── b.py
└── c.py
在__init__.py
中,我有
from models.a import A
from models.b import B
在c.py
import models
# code
models.A.func()
但是出现错误module 'models' has no attribute 'A'
。由于A和B都互相引用,所以我最初是在获取循环导入,但是现在解决了它们,我根本无法显示模型。
答案 0 :(得分:1)
您可以尝试c.py
from models.a import A
要使用该功能,只需编写:
A.func()
答案 1 :(得分:0)
您要么需要将项目目录添加到PYTHONPATH
,要么需要
from . import models
答案 2 :(得分:0)
您的__init__.py
文件不需要任何更改。我认为在c.py文件中,键入如下:
modele_name.function_name()
如果您已经在您的__init__.py
文件中导入了该功能,那么我想这会对您有所帮助。
有关更多详细信息,请编辑您的问题并添加您的仓库的git链接