抱歉,我一開始舉的例子似乎過於簡化且容易引起困惑,
我試著把狀況寫得更詳盡一點,但可能會稍長,請大家見諒。
先回覆ThxThx的問題:
→ ThxThx: 我蠻好奇,有什麼理由要把script和package放在一起嗎 06/18 19:46
→ ThxThx: 就連手動加進sys.path也是不好的手段 06/18 19:46
就一般來說,我還真不瞭解Python的import邏輯是什麼...
假如我有一個自己寫的package foo,裡面有個common.py,
另外有個專門放分析ipynb的資料夾bar,bar跟foo在同一層。
每次我都要先在分析的開頭寫sys.path.append(".."),
才能from foo.common import *。
我也覺得這樣寫好像很醜,
但是我又不能直接寫成from ..foo.common import *,
(ValueError: attempted relative import beyond top-level package)
我不懂為什麼會這樣,明明才往上一層,怎麼就beyond top-level了。
希望有人可以順便為我解惑。