WSL2上使用matplotlib结合VSCode远程不显示输出的解决方法
报错信息
问题一般分为两种
- 没有报错但是使用
plt.show()之后没有任何输出 - 使用
matplotlib.use('Tkagg')之后出现报错Cannot load backend 'TkAgg' which requires the 'tk' interactive framework, as 'headless' is currently running,或者是_tkinter.TclError: couldn't connect to display ":0.0"
解决方法
- 开始Import的时候改变顺序
import matplotlib |
然后在windows上安装
VcXsrv服务器并且启动,具体下载地址为 sourceForge安装过程中一路选择默认设置
然后通过桌面图标启动VcXsrv




然后正常情况会弹出Windows防火墙提示,允许访问即可
然后修改WSL端的环境
首先需要查看Windows系统和WSL2通信使用的虚拟网卡地址
sudo vim /etc/resolv.conf |
- 然后修改
.bashrc
$ vim ~/.bashrc |
详细可以参考配置VcXsrv
- 最终效果

