簡體   English   中英

無法使用絕對路徑導入

[英]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.pyrun.py ,只寫from test.a import *或類似的東西。 如果你需要導入b.pya.py ,做你已被告知from test.b import * 然后,運行run.py將獲得正確的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM