看板 Python 關於我們 聯絡資訊
python3 vscode main.py 內容 from bb import c if __name__ == '__main__': t=c.c_class() 建立bb資料夾 \bb\c.py 內容 import e class c_class(): def __init__(self): a=e.e_class() \bb\e.py 內容 class e_class(): def __init__(self): pass 執行main時跳出c.py中的import e跳出錯誤 發生例外狀況: ModuleNotFoundError No module named 'e' 有時候想做的工具class,讓其他檔案都能import使用,然後就發生這狀況 雖然修改import e為bb.e就沒問題,但這樣反而獨立測試c.py反而發生 ModuleNotFoundError -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.219.246.61 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1548227927.A.B14.html
shiyeh: https://bit.ly/2M0sbzK 參考看看? 01/23 15:56
germun: 如果module有必要獨立測試, 我會連import都用if main判斷 01/23 16:27
germun: 或者懶人做法就是把你的bb加入sys path 01/23 16:30
germun: 不獨立測試的話, c.py內的相對import應該改`import .e` 01/23 16:32
germun: 獨立測試會錯是因為你的工作目錄變了, 所以相對位置找不到 01/23 16:34