[問題]import 出現 ModuleNotFoundError

作者: rofellosx (鏖)   2019-01-23 15:18:40
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
作者: shiyeh (shiyeh)   2019-01-23 15:56:00
作者: germun (ger)   2019-01-23 16:27:00
如果module有必要獨立測試, 我會連import都用if main判斷或者懶人做法就是把你的bb加入sys path不獨立測試的話, c.py內的相對import應該改`import .e`獨立測試會錯是因為你的工作目錄變了, 所以相對位置找不到

Links booklink

Contact Us: admin [ a t ] ucptt.com