[問題] ImportError

看板Python作者 (john)時間7年前 (2018/08/08 10:09), 編輯推噓3(3016)
留言19則, 4人參與, 7年前最新討論串1/1
大家好,想請問個新手問題 最近跟著書在做一些範例,遇到了一個import的問題 範例中做了兩個檔案"data.py"及"Env.py" (我把他們放在同一個資料夾內) 然後在Env.py中要import "data.py"這個檔案 書中用 from . import data 我查了一下應該是relative path的用法 卻發生錯誤如下: ImportError: cannot import name 'data' 有看到有些人說要加放一個__init__.py 試過了好像沒有用 想請問問題可能出在哪裡? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.25.10 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1533694156.A.237.html

08/08 10:18, 7年前 , 1F
把你書上的範例放到這上面來重現 https://repl.it/
08/08 10:18, 1F

08/08 10:45, 7年前 , 2F
感謝樓上分享,自問自答 把from . 刪掉就好了.....
08/08 10:45, 2F

08/08 10:47, 7年前 , 3F
我記得在Python 3某版後 module不用再有__init__.py
08/08 10:47, 3F

08/08 10:50, 7年前 , 4F
有 __init__.py 的好處是可以在裡面處理一些細節
08/08 10:50, 4F

08/08 10:51, 7年前 , 5F
對於有要做模組化的需求時是很有用的, 不過一般小的
08/08 10:51, 5F

08/08 10:52, 7年前 , 6F
project 也是可以不用那麼麻煩.
08/08 10:52, 6F

08/08 10:53, 7年前 , 7F
也謝謝 @TitanEric, 我去找一下在 PEP 哪一篇有講這個
08/08 10:53, 7F

08/08 10:56, 7年前 , 8F
找到了, PEP 420 我來看一下
08/08 10:56, 8F

08/08 11:01, 7年前 , 9F
補充一下我上面提到的東西. 像是 numpy 為了讓使用者
08/08 11:01, 9F

08/08 11:02, 7年前 , 10F
可以在 from numpy import XXX 後針對該 submodule
08/08 11:02, 10F

08/08 11:03, 7年前 , 11F
直接做執行 unit test, 而不用在 terminal 下指令
08/08 11:03, 11F

08/08 11:03, 7年前 , 12F
所以在每個 submodule 的 __init__.py 裡有定義他們
08/08 11:03, 12F

08/08 11:04, 7年前 , 13F
自己寫的 tester. 參考: https://git.io/fNyKM
08/08 11:04, 13F

08/08 11:06, 7年前 , 14F
舉例來說, 如果要跑 numpy.ma 這個 submodule 的 test
08/08 11:06, 14F

08/08 11:07, 7年前 , 15F
可以用 numpy.ma.test() 去執行
08/08 11:07, 15F

08/08 11:45, 7年前 , 16F
謝謝兩位分享,雖然小弟目前看得霧煞煞......XD
08/08 11:45, 16F

08/08 14:23, 7年前 , 17F
08/08 14:23, 17F

08/08 14:23, 7年前 , 18F
我只之前寫的,ImportError幾乎都快變成月經文了
08/08 14:23, 18F

08/08 16:52, 7年前 , 19F
原來module的init可以跑測試 第一次知道 感謝g大
08/08 16:52, 19F
文章代碼(AID): #1RQb3C8t (Python)
文章代碼(AID): #1RQb3C8t (Python)