无法创建导入模块

时间:2020-08-19 01:03:18

标签: python

我遇到了循环依赖问题,只是在网上找到一些建议,建议最好导入整个模块,而不是导入模块中的特定项目。在发生循环依赖问题之前,我对导入没有任何疑问。

因此,根据博客的建议,我在包含一些模型的文件夹中设置了__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都互相引用,所以我最初是在获取循环导入,但是现在解决了它们,我根本无法显示模型。

3 个答案:

答案 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链接