【发布时间】:2012-06-21 00:05:42
【问题描述】:
我的目录结构如下:
test1/
test1/a.py
test1/test2/b.py
b.py 需要在 a.py 中导入一个类。所以我可以在导入a之前将以下行添加到b.py中。
sys.path.append(os.path.dirname(sys.argv[0]) + "/..")
这行得通,我可以从任何目录调用 b.py 并且它能够导入 a。 但是,当我在另一个目录中编写脚本以使用 execfile() 调用此文件时,这将失败。
我尝试了相对导入,但出现“尝试在非包中进行相对导入错误”
from ..a import someclass as cls
我在 test1、test2 中都有 __init__.py
有人知道如何让它工作吗?
PYTHONPATH 是要走的路吗?
【问题讨论】:
标签: python import pythonpath relative-import