为什么该架构无法正常工作?
/test
__init__.py
app.py
models.py
/subpackage
__init__.py
subpackage.py
这是示例代码:
app.py
from test.subpackage import hi_from_subpackage
hi_from_subpackage()
subpackage / subpackage.py
from test.models import models
def hi_from_subpackage():
print('Hi')
# I nee models here too
models()
错误是:
Traceback (most recent call last):
File "app.py", line 1, in <module>
from test.subpackage import hi_from_subpackage
**ModuleNotFoundError: No module named 'test.subpackage'**
我做错了什么?
- 预先感谢
答案 0 :(得分:2)
您对python的导入系统感到困惑,它发生了。导入子包时,您要从包subpackage
中导入模块subpackage
,因此它应如下所示:
from subpackage.subpackage import hi_from_subpackage
并且当您位于较低的包层次结构中时,无需说模块来自哪个巫婆包,它已经“知道”了它,因为它位于较高的层次结构中。
from models import models
像在编写核心一样思考。在这里,模型以全局变量的方式在子包的范围内。而且,当您站在测试包中时,需要像使用变量一样引用下杠杆包的名称。
答案 1 :(得分:-1)
如果是Windows,请尝试从cmd运行pip install test
。关于正在使用的IDE,我会向您推荐vs代码。