Ich entwickle ein Projekt in PyCharm mit einem Docker-Interpreter, aber ich stoße auf Probleme, wenn ich die meisten "interaktiven" Dinge mache. z.B.,
%Vor%gibt
%Vor%Ich kann das umgehen mit
%Vor%was den Fehler beseitigt, aber wenn ich plt.show () mache, wird kein Plot erzeugt. Ich bekomme auch den gleichen Fehler wie im Thread [pycharm remote python console]:" kann nicht mit X-Server verbinden "Fehler beim Importieren von Pandas beim Debuggen nach dem Import von Pandas, aber ich kann nicht SSH in meinem Docker Container, so dass die dort vorgeschlagene Lösung nicht funktioniert . Ich habe die Lösung gesehen, "-e DISPLAY = $ DISPLAY" an den Befehl "docker run" zu übergeben, aber ich glaube nicht, dass PyCharm irgendeine Funktionalität hat, um Befehlszeilenparameter wie diese mit einem Docker-Interpreter anzugeben. Gibt es eine Möglichkeit, irgendeine Art von permanenter, generischer X11-Weiterleitung einzurichten (wenn dies tatsächlich die Hauptursache ist), so dass die Plots entsprechend auf meinem lokalen Rechner an das DISPLAY übergeben werden? Allgemeiner, hat jemand Matplotlib mit einem Docker-Interpreter erfolgreich in PyCharm verwendet?
Hier ist die Lösung , die ich mir ausgedacht habe. Ich hoffe, das hilft anderen. Die Schritte sind wie folgt:
Installieren und starten Sie Socat
socat TCP-LISTEN: 6000, reuseaddr, Gabel UNIX-CLIENT: \ "$ DISPLAY \"
Installieren und starten Sie XQuartz (wahrscheinlich bereits installiert)
Das Ausführen / Debuggen des Projekts führt zu einem neuen Quarz-Popup, in dem das gezeichnete Diagramm angezeigt wird, ohne dass ein Bild gespeichert werden muss usw.
Führen Sie xhost +
auf dem Host aus und fügen Sie diese Optionen zu docker run
: -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix
Tags und Links matplotlib docker pycharm x11