[問題]import 出現 ModuleNotFoundError

看板Python作者 (鏖)時間5年前 (2019/01/23 15:18), 編輯推噓2(203)
留言5則, 2人參與, 5年前最新討論串1/1
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

01/23 15:56, 5年前 , 1F
01/23 15:56, 1F

01/23 16:27, 5年前 , 2F
如果module有必要獨立測試, 我會連import都用if main判斷
01/23 16:27, 2F

01/23 16:30, 5年前 , 3F
或者懶人做法就是把你的bb加入sys path
01/23 16:30, 3F

01/23 16:32, 5年前 , 4F
不獨立測試的話, c.py內的相對import應該改`import .e`
01/23 16:32, 4F

01/23 16:34, 5年前 , 5F
獨立測試會錯是因為你的工作目錄變了, 所以相對位置找不到
01/23 16:34, 5F
文章代碼(AID): #1SI1LNiK (Python)