关于python相对路径有很多问题,但我没有找到以下情况的任何内容:
src/
__init__.py
notebook.ipynb
A/
__init__.py
foo.py
B/
__init__.py
bar.py
我试图在notebook.ipynb中导入:
from A.foo import Foo
有一个子目录/子包导入:
foo.py
from ..B.bar import Bar
我收到了一个ValueError:尝试相对导入超出toplevel包。
如果我只有几个文件,我会尝试使用sys和os破解解决方案。但是,我在更深层次的目录中得到了不少,我正在寻找一种更优雅的方式。有什么想法吗?
答案 0 :(得分:0)
我看到你说你正在寻找比使用sys更优雅的解决方案,但是使用sys为这个例子提供了一个解决方案。
foo.py:
E(g)$lty = 1
E(g)[2]$lty <- 2
plot(g)
notebook.ipynb
import sys
sys.path.append('..')
from A.foo import foo