How to use matplotlib with a remote on PyCharm
I want to run codes with matplotlib on PyCharm. But i got an error:
_tkinter.TclError: no display name and no $DISPLAY environment variable
Before telling you that i try to solve this problem, my environment is:
---------- -----------------------
| client | <----> | host | container |
---------- -----------------------
client's OS: Windows 10
host's OS: Ubuntu 16.04
The container is running from Docker and have a port that forwarded 22 to 8022 on host. I can connect a remote Python interpreter in a running container using PyCharm functionality. And it works well.
Now, to use matplotlib in my project. i run a command 'xhost +' and on client i run Xming + putty to test. it works well and i can see the display name using "echo $DISPLAY" on putty terminal.
But, when i try to do on PyCharm. The error above is occurred. I did some many research such as set to DISPLAY environment variable on PyCharm, Change to python backend TkAgg to GTKAgg, Agg, and so on.
Anyway i got an idea that on putty terminal i can get the display name with "echo $DISPLAY" that show me "1816c3f79320:10.0". And i set the DISPLAY in run configuration on PyCharm to "1816c3f79320:10.0". It works well. But, this method is really bad thing. Because when i run a new putty terminal. Sometimes the display name will be changed so i need to reset run configuration on PyCharm.
Additionally, I know that PyCharm supports SciView and it works well. But i do not want to use it.
Do you guys have any idea to solve this problem?
Please sign in to leave a comment.