如何在Travis CI上测试Jupyter笔记本?

6
有没有一种方法可以在Travis CI上部署Jupyter Notebooks并测试运行所有单元格的功能?
我的Jupyter Notebooks使用IPython Kernel,并且我有一个conda环境文件。
1个回答

5

我也有类似的疑问,并收集了一些信息,但还没有进行全面测试。

首先,你可以依赖于jupyter nbconvert执行笔记本,然后查找错误。在ghego/travis_anaconda_jupyter,Travis CI和Conda设置了一个示例。我认为Travis CI也依赖于pytest来捕获问题,尽管我不完全确定这如何结合起来。

另一种运行方式是使用pytest-notebook,该程序依赖于你在某个环境中拥有所需的笔记本版本。该软件包的主要目的是检测环境的更改是否会在笔记本中创建问题。这也可能与上述方法结合使用,尽管这可能是多余的。

写笔记时使用Markdown格式,并使用jupytext将其转换为.ipynb文件,然后使用上述选项运行,这样可能有助于版本管理(跟踪、查看差异、易读性)。jupytext还可以使用--execute标志直接执行笔记本,因此也许有更简单的方法来集成这样的工作流程!

我将在未来几周内进行测试,并更新此评论,如果我了解到任何新信息。


嗨,Jason!关于任务有什么新消息吗? - Mikhail_Sam
嗨@Mikhail_Sam!老实说,我认为我不会在二月份之前处理这个问题,请不要等我——也许可以看看我上面链接的示例。 我还没有想清楚(或者没有考虑太多)哪些类型的错误在CI构建中值得注意。是否所有错误都很重要,还是有些可以被容忍?我更倾向于前者... - Jason R. Wang
我有一个使用 nbconvert 的解决方案,在本地运行良好,但在 travis 上找不到内核,我不知道 travis 上有哪些内核:jupyter_client.kernelspec.NoSuchKernel: No such kernel named python3 - Intelligent-Infrastructure

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接