[英]Packages and Modules in Python not working
為什么這種架構不起作用?
/test
__init__.py
app.py
models.py
/subpackage
__init__.py
subpackage.py
這是示例代碼:
應用程序.py
from test.subpackage import hi_from_subpackage
hi_from_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'**
我做錯了什么?
- 提前致謝
您對 python 的導入系統感到困惑,它發生了。 當你導入子包時,你想從 package subpackage
包中導入一個模塊subpackage
包,所以它應該是這樣的:
from subpackage.subpackage import hi_from_subpackage
當你在 package 層次結構中處於較低位置時,你不需要說模塊來自 package,它已經“知道”它,因為它在更高的層次結構中。
from models import models
想想如果你在寫核心。 這里的models是在scope的子包中以全局變量的方式。 當你站在測試 package 中時,你需要用它的名字來指代一個下桿 package,就像你對一個變量做的那樣。
如果是 Windows,請嘗試從 cmd 運行pip install test
。 關於您正在使用的 IDE,我會向您推薦 vs-code。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.