抱歉,我一开始举的例子似乎过于简化且容易引起困惑,
我试着把状况写得更详尽一点,但可能会稍长,请大家见谅。
先回复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了。
希望有人可以顺便为我解惑。