无法通过 WSL 使用 conda 显示 matplotlib 的输出
Unable to display output from matplotlib using conda through WSL
我正在尝试 运行 ToPy(拓扑优化)程序在 wsl 上使用 anaconda。
因此,我创建了一个包含 python-2.7 和 ToPy.
推荐的所有其他程序的环境
我运行正在从 wsl 到 Xming 的显示输出中遇到错误。
经过一番紧张的调试,我得出的结论是我在anaconda环境下安装的matplotlib不支持输出。 (我最初认为这是 Tkinter 的一个错误,但当我在 python-2.7 和 python3 上尝试它时它起作用了,我得出的结论是 matplotlib 是 运行ning 之后的问题vscode 上的测试代码[下方] 使用两个 python 解释器)
测试代码: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)中工作,并给了我一个输出。与 python3 一起在 conda 工作;通过 XMing 给了我一个输出。但是没有给我 python-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
returns :0.0
我在使用 python-2.7.15 的 conda env 中尝试了 xeyes
和其他输出;我通过 XMing 获得输出,但不是 matplotlib 图。
我真的需要尽快完成这个项目;任何帮助将不胜感激。
TLDR;我在 wsl 中使用 anaconda 环境(python-2.7.15)并尝试 运行 ToPy 求解器;仅在使用 matplotlib 时无法获得输出。
对不起,如果我没有准确地表达问题;我最近开始编码并且是这个论坛的新手。
对于有类似问题的人
我只使用 python 从 2.7.15 更新到 2.7.18
我做了 运行 conda install -c conda-forge r-tcltk2
它改变了一些冲突,后来我得到了一个 glibcxx_3.4.26 not found
错误,但是在将 linux 发行版和 python 更新到 2.7.18 之后。我可以 运行 我的模拟
非常感谢您的及时帮助
编辑:
This 应该可以帮助解决安装问题的人
我正在尝试 运行 ToPy(拓扑优化)程序在 wsl 上使用 anaconda。 因此,我创建了一个包含 python-2.7 和 ToPy.
推荐的所有其他程序的环境我运行正在从 wsl 到 Xming 的显示输出中遇到错误。 经过一番紧张的调试,我得出的结论是我在anaconda环境下安装的matplotlib不支持输出。 (我最初认为这是 Tkinter 的一个错误,但当我在 python-2.7 和 python3 上尝试它时它起作用了,我得出的结论是 matplotlib 是 运行ning 之后的问题vscode 上的测试代码[下方] 使用两个 python 解释器)
测试代码: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)中工作,并给了我一个输出。与 python3 一起在 conda 工作;通过 XMing 给了我一个输出。但是没有给我 python-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
returns :0.0
我在使用 python-2.7.15 的 conda env 中尝试了 xeyes
和其他输出;我通过 XMing 获得输出,但不是 matplotlib 图。
我真的需要尽快完成这个项目;任何帮助将不胜感激。
TLDR;我在 wsl 中使用 anaconda 环境(python-2.7.15)并尝试 运行 ToPy 求解器;仅在使用 matplotlib 时无法获得输出。
对不起,如果我没有准确地表达问题;我最近开始编码并且是这个论坛的新手。
对于有类似问题的人 我只使用 python 从 2.7.15 更新到 2.7.18
我做了 运行 conda install -c conda-forge r-tcltk2
它改变了一些冲突,后来我得到了一个 glibcxx_3.4.26 not found
错误,但是在将 linux 发行版和 python 更新到 2.7.18 之后。我可以 运行 我的模拟
非常感谢您的及时帮助
编辑: This 应该可以帮助解决安装问题的人