PyCharm远程开发调试,解决mtplotlib不显示图像问题。

参考:https://medium.com/@erikhallstrm/work-remotely-with-pycharm-tensorflow-and-ssh-c60564be862d

备注:需要*才能访问

远程:ubuntu 14  Python3

本地:Mac Pycharm

因为实验室的服务器性能比较好,所以一般跑代码都是使用服务器上的GPU。但是,如果每次都是自己在本地修改完,然后扔服务器上,这样会很麻烦。或者可以用jupyter notebook,但是我是菜逼,如果没有代码提示,或者让我直接点进我需要调用的函数看看具体用法,开发效率会很低。。so~~

刚好PyCharm支持远程开发和调试~~爽歪歪。。于是乎,就Google了方法。也设置正确了。但是在调用plt.show()的时候不会在本地显示。。我就很纳闷。。这到底为什么。。后来仔细阅读了那篇文章并在网上搜索相关问题,才知道这和X11 Forward有关。

为了能显示图像,不仅要确保ssh是通的,而且要保证X11转发正常。测试方法就是输入ssh -X [email protected] 连接你的服务器。然后执行xeyes~如果有一对?在本地显示,就证明传输成果,配置成果了。。如图:

PyCharm远程开发调试,解决mtplotlib不显示图像问题。

具体配置方法,可以自行Google或者参见我刚才的文章里。

到这步成功了,可是我的IDE还是无法显示。。。。不知道为什么?????炸了,经过了一天。偶然间我就想着会不会和matplotlib的backend有关。。。然后就在服务器安装了Qt5。sudo pip3 install qt5agg~~然后如图所示,必须在使用matplotlib之前这样设置一下:

PyCharm远程开发调试,解决mtplotlib不显示图像问题。

好吧。。。。。这下应该好了吧。。

炸了~还不行,后来发现自己少了其中的几个步骤,就是修改IDE里边运行和python console的变量,就是参考文章里边的步骤,我没设置(具体说是没设置好,我多加了个空格。。。。竟然都不行)这个DISPLAY变量一定要确保和服务器的一样。。然后再运行就可以正常显示了。。大功告成!!!这个要你有一个ssh -X连接着服务器才可以,要是断开了是不行的。(应该后期会改一下,为什么我这个项目都是选择的ssh我还要单独再开一个连接。。醉了)

以上就是我碰到的一些坑~