我正在尝试通过 ssh 连接到服务器并在其上运行 python 脚本。
当我在 Mac 上运行该命令时,我不断收到错误消息。
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 443, in clf
gcf().clf()
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 369, in gcf
return figure()
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 343, in figure
**kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line 80, in new_figure_manager
window = Tk.Tk()
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1688, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
我正在使用 ssh -X [email protected]到 ssh。这在 ubuntu 上没有任何问题,但在 mac 上却出现此错误。我刚刚转向 Mac,我不明白我在这里做错了什么。
最佳答案
您安装了 XQuartz 吗? $DISPLAY
应在 OS X 上自动设置为 launchd 套接字,该套接字在访问时会自动启动 XQuartz。一个常见的错误是将 $DISPLAY
设置为 :0.0,但我认为这会导致不同的错误。
事情应该是这样的:
% echo $DISPLAY
/tmp/launch-k9XueA/org.macosforge.xquartz:0
关于python - mac 上的 ssh -X 在 matplotlib 中给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12152257/