[英]Can't Import Using Absolute Path
我有一個非常簡單的測試Python 3項目,具有以下文件結構:
test/a.py
test/b.py
test/__init__.py
我讀到的每個地方 ,人們都說在a.py
我應該使用絕對路徑導入b.py
:
from test.b import *
但是,當我嘗試時,我收到以下錯誤:
Traceback (most recent call last):
File "a.py", line 1, in <module>
from test.b import *
ModuleNotFoundError: No module named 'test.b'
我知道我可以使用from b import *
導入b.py
,但這不是人們推薦的。 他們都建議from test.b import *
。 但我甚至無法得到這個簡單的例子。
正如Martijn在評論中所說,這取決於你如何稱呼a.py
如果你通過輸入python a.py
直接從目錄中調用它,你將得到上面的錯誤。
但是,如果你這樣稱它為: python -m test.a
當它是test
目錄上方的一個目錄時,你的導入就可以了。
公共目錄結構如下:
test/a.py
test/b.py
test/__init__.py
run.py
主代碼應該放在run.py
。 如果要導入a.py
在run.py
,只寫from test.a import *
或類似的東西。 如果你需要導入b.py
在a.py
,做你已被告知from test.b import *
。 然后,運行run.py
將獲得正確的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.