Le constructeur TypeError a renvoyé NULL lors de l’importation de pyplot dans ssh

J’ai des difficultés à importer matplotlib.pyplot lorsque j’utilise ssh pour accéder à ma grappe de laboratoires locale.

En effet, essayer d’ import matplotlib.pyplot as plt me donne une erreur. J’ai essayé de simplement import matplotlib as mpl et c’est bien, donc quelque chose en particulier sur l’importation de pyplot est faux ici. La dernière ligne de la trace indique

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

Quelqu’un peut-il identifier l’erreur ici? Ou, existe-t-il un moyen de contourner l’erreur et d’utiliser les outils de pyplot ?

Si cela fait une différence, j’utilise Windows 8.

Vous ne parvenez pas à charger GTK. Très probablement, c’est parce que vous n’avez pas access à un serveur X11 et que vous ne pouvez pas dessiner Windows (ce que fait GTK).

Essayez matplotlib.use("Pdf") avant d’importer pyplot . Ensuite, vous n’aurez pas besoin de charger GTK et cela n’échouera pas. Vous pouvez toujours créer des plots et les enregistrer en pdf mais vous ne pouvez pas les dessiner à l’écran.

Vous pouvez également essayer de transférer X11. Ensuite, vous pouvez voir les fenêtres comme si vous étiez sur la machine hôte. Avec un client Linux, cela se fait en vous connectant via ssh -X hostname . Avec un client Windows, cela peut être fait mais pas aussi facilement.