无法通过WSL使用conda显示matplotlib的输出



我正在尝试在wsl上使用anaconda运行ToPy(拓扑优化(程序。因此,我用python-2.7和ToPy推荐的所有其他程序创建了一个环境。

从wsl到Xming的Display输出遇到错误。经过一些紧张的调试,我得出结论,我在anaconda环境中安装的matplotlib不支持输出。(我最初认为这是Tkinter的一个错误,但当我在python-2.7和python3上尝试它时,它起了作用,在使用两个python解释器在vscode上运行测试代码后,我得出了matplotlib是问题所在的结论(

测试代码:Test.py

import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2*np.pi*t)
plt.plot(t, s)
plt.title('About as simple as it gets, folks')
plt.show()

这段代码在wsl(而不是conda(中工作,并给了我一个输出。与蟒蛇一起在康达工作3;通过XMing给了我一个输出。但没能给我输出蟒蛇-2.7.15我得到这个错误:

Traceback (most recent call last):
File "optimise.py", line 20, in <module>
optimise(argv[1])
File "optimise.py", line 16, in optimise
topy.optimise(t)
File "/home/sree/anaconda3/envs/py27/lib/python2.7/site-packages/topy/optimisation.py", line 67, in optimise
_optimise(topology)
File "/home/sree/anaconda3/envs/py27/lib/python2.7/site-packages/topy/optimisation.py", line 43, in _optimise
create_2d_imag(t.desvars, **params)
File "/home/sree/anaconda3/envs/py27/lib/python2.7/site-packages/topy/visualisation.py", line 56, in create_2d_imag
figure() # open a figure
File "/home/sree/anaconda3/envs/py27/lib/python2.7/site-packages/matplotlib/pyplot.py", line 533, in figure
**kwargs)
File "/home/sree/anaconda3/envs/py27/lib/python2.7/site-packages/matplotlib/backend_bases.py", line 161, in new_figure_manager
return cls.new_figure_manager_given_figure(num, fig)
File "/home/sree/anaconda3/envs/py27/lib/python2.7/site-packages/matplotlib/backends/_backend_tk.py", line 1046, in new_figure_manager_given_figure
window = Tk.Tk(className="matplotlib")
File "/home/sree/anaconda3/envs/py27/lib/python2.7/lib-tk/Tkinter.py", line 1819, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: couldn't connect to display ":0.0"

我与echo $DISPLAY核对后返回:0.0我在使用python-2.7.15的conda-env中尝试了xeyes和其他输出;我通过XMing获得输出,但不通过matplotlib绘图。

我真的需要尽快完成这个项目;任何帮助都将不胜感激。

TLDR;我在wsl中使用了anaconda环境(python-2.71.5(,并尝试运行ToPy解算器;仅在使用matplotlib时无法获取输出。

对不起,如果我没有准确地说出这个问题;我最近刚开始编码,是这个论坛的新手。

对于有类似问题的人我只使用了从2.7.15到2.7.18 的python更新

我确实运行了conda install -c conda-forge r-tcltk2它改变了一些冲突,后来我得到了一个glibcxx_3.4.26 not found错误,但在将linux发行版和python更新到2.7.18之后。我可以运行我的模拟

感谢的及时帮助

编辑:这应该可以帮助有安装问题的人

最新更新