【发布时间】:2018-07-20 03:59:18
【问题描述】:
我的文件结构如下:
root/
v1/
__init__.py
example_1.py
script/
__init__.py
classification.py
prediction.py
example2.py
分类如下所示:
#classification.py
print(__name__)
from .prediction import predict_func
def func1():
predict_func()
这对于看起来像这样的 example1.py 很有效
#example1.py
from script.classification import func1
func1()
但是像下面这样从example2.py导入分类会失败
#example2.py
from classification import func1
func1()
因为在example2.py场景中__name__在分类中只是classification而不是script.classification作为example1.py,因此这里没有父节点,因此导入模块失败。
我知道解决方案之一是将脚本目录添加到 example1.py 和 exaple2.py 中的 sys.path,并在分类中使用 from prediction import predict_func。这在 example1.py 和 example2.py 中都适用,但这是一个好方法吗,还有其他替代方法吗?
【问题讨论】:
-
不是
from ..classification import funcinexample2.py吗?
标签: python import module package