在ssh中导入pyplot时,TypeError构造函数返回NULL

时间:2015-07-09 21:20:44

标签: python windows matplotlib ssh

当我使用ssh访问我的本地实验室群集时,我无法导入matplotlib.pyplot

确实,试图import matplotlib.pyplot as plt给我一个错误。我试图只是import matplotlib as mpl,这很好,所以特别关于导入pyplot的内容在这里是错误的。追溯的最后一行说

File '/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk3.py', line 58, in <module> cursors.MOVE : Gdk.Cursor.new(Gdk.CursorType.FLEUR), TypeError: constructor returned NULL

有人可以在这里找出错误吗?或者,有没有办法可以规避错误并仍然使用pyplot工具?

如果它有所不同,我使用的是Windows 8。

1 个答案:

答案 0 :(得分:17)

您无法加载GTK。最有可能的原因是,您无法访问X11服务器并且无法绘制窗口(这是GTK所做的)。

在导入matplotlib.use("Pdf")之前尝试pyplot。然后你不需要加载GTK,它不会失败。您仍然可以制作图表并将其保存为pdf,但是您无法在屏幕上绘制它们。

或者,您可以尝试转发X11。然后,您可以看到窗口,就像您在主机上一样。使用Linux客户端,可以通过ssh -X hostname登录来完成。使用Windows客户端it can be done但不是那么顺利。