我有以下目录结构:
test1/
test1/a.py
test1/test2/b.py
b.py 需要在 a.py 中导入一个类。所以我可以在导入 a.py 之前将以下行添加到 b.py 中。
sys.path.append(os.path.dirname(sys.argv[0]) + "/..")
这有效,我可以从任何目录调用 b.py 并且它能够导入 a。但是,当我在另一个目录中编写脚本以使用 execfile() 调用此文件时,这将失败。
我尝试了相对导入,但出现“尝试在非包中导入相对导入错误”
from ..a import someclass as cls
我有__init__.py
两个test1,test2
有人知道如何使它工作吗?是PYTHONPATH
要走的路吗?