我有以下目录结构:
src/
main/
somecode/
A.py
B.py
__init__.py
__init__.py
test/
somecode/
testA.py
testB.py
__init__.py
__init__.py
__init__.py
我能够成功地将以下内容添加到测试模块中:
import sys
sys.path.insert(0, "absolute path to src")
这使我可以从 src 文件夹运行鼻子测试。但问题是当其他人使用我的代码时,这不起作用,因为他们的绝对路径没有不同。
所以我尝试了:
import sys, os
sys.path.append(os.path.abspath('../../../main/somecode')
from main.somecode import A
这在 src/test/somecode 中效果很好,但我无法从 src 文件夹运行鼻子测试,因为相对路径从那里不起作用。
我也尝试过 from ...main.somecode import A 但它不喜欢那样,即使它们都是 python 包。
那我该怎么办? 这似乎是一个潜在的答案,但他没有解释在哪里添加代码。