TypeError-Konstruktor hat beim Import von pyplot in ssh NULL zurückgegeben

9

Ich habe Probleme beim Importieren von matplotlib.pyplot , wenn ich ssh für den Zugriff auf meinen lokalen Laborcluster verwende.

Tatsächlich versucht mich import matplotlib.pyplot as plt einen Fehler zu geben. Ich habe versucht, nur import matplotlib as mpl und das ist in Ordnung, also ist etwas speziell über den Import von pyplot hier falsch. Die letzte Zeile der Rückverfolgung sagt

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

Kann jemand den Fehler hier identifizieren? Oder gibt es eine Möglichkeit, den Fehler zu umgehen und trotzdem die pyplot -Werkzeuge zu verwenden?

Wenn es einen Unterschied macht, verwende ich Windows 8.

    
MCT 09.07.2015, 21:20
quelle

1 Antwort

13

Sie können GTK nicht laden. Höchstwahrscheinlich liegt es daran, dass Sie keinen Zugriff auf einen X11-Server haben und keine Fenster zeichnen können (was GTK tut).

Versuchen Sie matplotlib.use("Pdf") vor dem Import von pyplot . Dann müssen Sie GTK nicht laden und es wird nicht fehlschlagen. Sie können weiterhin Diagramme erstellen und sie als PDF speichern, aber Sie können sie nicht auf dem Bildschirm zeichnen.

Alternativ könnten Sie versuchen, X11 weiterzuleiten. Dann könnten Sie die Fenster sehen, als wären Sie auf dem Hostcomputer. Bei einem Linux-Client geschieht dies durch Anmeldung über ssh -X hostname . Mit einem Windows-Client kann zwar , aber nicht so reibungslos durchgeführt werden.

    
mmdanziger 09.07.2015, 21:36
quelle

Tags und Links