这是我第一次使用 Travis 和一般的“测试”。 我创建了一些测试,现在我想将它们添加到 Travis,但我在使用 PATH 时遇到了问题。
这是我的:
sheetmaker/
html_builder.py
constants.py
sheetmaker.py
tests/
test_html_builder.py
data/
test_html_constants.py
我设法运行 test_html_builder.py
并且测试在我的电脑上运行。简而言之,这就是我在 test_html_builder.py
sys.path.insert(0, os.path.abspath('..'))
from sheetmaker import html_builder
from data import test_html_constants
这在本地有效,但 Travis CI 说:
- 从 sheetmaker 导入 html_builder
- ModuleNotFoundError:没有名为“sheetmaker”的模块
导入东西的正确方法是什么?这是 github 项目的更多详细信息:github project!
提前致谢。
最佳答案
经过大量研究,我开始打印 print(sys.path)
以找出“我工作的地方”。从那里我创建了一个异常处理程序
try:
sys.path.insert(0, os.path.abspath('..')) #Works for local
from sheetmaker import html_builder
from data import test_html_constants
except:
sys.path.insert(0, os.path.abspath('.')) #Works for Travis CI
from sheetmaker import html_builder
from data import test_html_constants
这是导入模块的正确方法吗?不知道,但它有效。
关于python - [Python] 无法让 Travis CI 工作。路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42193732/