我正在添加一个自定义工具到matplotlib工具栏:
1. self._toolmanger = self._fig.canvas.manager.toolmanager
2. self._toolmanger.add_tool("Custom Tool", CustomTool, toggle=func)
3. self._fig.canvas.manager.toolbar.add_tool(self._toolmanger.get_tool("Custom Tool"), "tool")
当我在本地运行代码时,一切都很好。但是当我在gitlab管道中运行它时,我得到以下错误AttributeError: 'NoneType' object has no attribute 'add_tool' (Line 3)
。我需要在管道中安装任何额外的依赖项吗?
我遇到了同样的问题,并找到了一个解决方案。Gitlab的环境可能使用缺乏工具栏的后端(就像Spyder和Jupyter默认启用的inline
后端一样)。设置一个有一个的后端
mpl.use('Qt5Agg')
在Windows上为我工作
在ippython会话中,尝试%matplotlib qt
(我认为这是平台独立的,但我不确定它是否会在您的Gitlab流中工作。)