gpt4 book ai didi

python - 在 Travis CI 中测试基于 matplotlib 的绘图

转载 作者:太空狗 更新时间:2023-10-29 17:30:39 25 4
gpt4 key购买 nike

我有一个包,其中有一个模块可以帮助用户使用 matplotlib 生成特定的绘图。当我在 Travis 的单元测试中调用这些函数时,出现以下错误:

RuntimeError: Invalid DISPLAY variable

我该如何解决?

生成绘图后,我的函数通常会调用 pyplot.show(),这会打开一个需要关闭的窗口。当我在 Travis 的单元测试中调用这些函数时,它们会永远挂起。

我如何测试这些绘图是使用 Travis CI 生成的?

最佳答案

更新:根据@matt-pitkin 的评论,该方法已更新。如果使用 Ubuntu Xenial 容器,启用 xvfb 的首选方法是通过 Travis 服务:

services:
- xvfb

但是,如果使用 Ubuntu Trusty 容器,我的原始答案(如下)仍然相关。我还建议阅读@david-ketcheson 的回答,它对原始问题有更具体的解决方案。


为了在 Travis 中设置 DISPLAY 变量,您需要从他们的 VM 中模拟显示。 They teach how to do it通过将以下内容添加到 .travis.yml 文件的 before_script 来使用 xvfb:

before_script: # configure a headless display to test plot generation
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- sleep 3 # give xvfb some time to start

为了让 Travis 不被情节所困扰,只需不要调用 pyplot.show()。如果您测试的图太多,请确保调用 pyplot.close() 否则它会提示打开的图像太多。

关于python - 在 Travis CI 中测试基于 matplotlib 的绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35403127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com