python - [Python] 无法让 Travis CI 工作。路径问题

标签 python python-3.x github travis-ci

这是我第一次使用 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/

相关文章:

python - 我正在使用tkinter libary制作一个hangman程序,但出现错误

python - 确定 numpy 数组的 2 个(垂直或水平)相邻元素是否具有相同值的最快方法

python - Subprocess.check_output 不起作用

Python Tkinter : Binding Keypress Event to Active Tab in ttk. 笔记本

git - 可以全局添加ssh-add吗

linux - Hubot dosent 答案 - Hubot Unix(Shell 适配器)

python - Tkinter 最大化/恢复/调整差异化大小

python-3.x - 如何为模型准备测试集形状。使用 keras 和 tensorflow 进行评估?

Python:无法从文件中替换行

css - 我在 jekyll 和 github 页面中错过了什么来使语法高亮工作?