设置Matplotlib后端时,使用Linux Windows子系统

我的Matplotlib后端保持还原到TkAgg 。 这是一个问题,因为在Windows子系统为Linux(WSL),你不能做GUI的东西,所以我得到的错误

TclError:没有显示名称,也没有$ DISPLAY环境variables

我尝试添加一个matplotlibrc文件到C:\Users\<user>\AppData\Local\lxss\home\<user>\.config\matplotlib matplotlibrc (在Windows文件系统中,这是C:\Users\<user>\AppData\Local\lxss\home\<user>\.config\matplotlib )。

我的matplotlibrc看起来像这样

 backend : Agg 

但是,如果我这样做

 $ cd /home/<user>/.config/matplotlib $ ls -A 

没有出现。

当我尝试

  $ python >>> import matplotlib >>> matplotlib.get_backend() 'TkAgg' 

所以显然不是将后端设置为Agg 。 为什么不?

更新:

我已经知道把backend : AggC:\Users\<user>\AppData\Local\lxss\home\<user>\.config\matplotlib\matplotlibrc改变了Windows的后端Python, TkAgg 。 这很奇怪,因为Windows Python应该只使用C:\Users\<user>\AppData\Local\Enthought\Canopy\User\Lib\site-packages\matplotlib\mpl-data\matplotlibrc ,对吗?

我想到了。 我使用Windows创建了matplotlibrc文件 – 这就是为什么当我在bash中尝试$ ls -A时没有显示。 所以我这样做(删除Windows创建的文件后):

 $ cd /home/<user>/.config/matplotlib $ touch matplotlibrc $ echo "backend : Agg" > matplotlibrc 

touch matplotlibrc创建一个空的matplotlibrc文件)

这做了诀窍,我的Windows Python matplotlib的后端保留为Qt4Agg。


这里是一行复制/粘贴:

 cd /home/<user>/.config/matplotlib; touch matplotlibrc && echo "backend : Agg" > matplotlibrc