sey*_*eet 5 remote-debugging python-3.x x11-forwarding vscode-debugger vscode-remote
我正在使用vscode 远程 ssh并通过 ssh 连接到我的服务器(集群中的节点)。我的本地机器是Windows,我的主机是ubuntu。我的 vscode 正在使用 python 进行编码。
我尝试了几周的时间来运行 python 代码并在调试控制台中显示图像,就像我们在普通终端或 jupyter 笔记本中所做的那样,但我注意到我根本无法在调试控制台中显示图像。这是一个玩具示例
import numpy as np
import matplotlib.pyplot as plt
img = np.random.rand(300,200)
plt.imshow(img);plt.show()
Run Code Online (Sandbox Code Playgroud)
基本上,当我尝试在调试控制台中执行操作时,plt.imshow(img);plt.show()
我要么什么也得不到,要么得到qt.qpa.screen: QXcbConnection: Could not connect to display localhost:0.0 Could not connect to any X display.
。我尝试了几种方法,例如使用 x11 extenson 或在 putty 中添加 x11 转发或在launch.json
. 然而,它们都不起作用。
我得出的结论是,vscode 远程 ssh 和 python 中的调试控制台还没有该功能。但如果您知道一种方法,请告诉我。
我希望我清楚在正常情况下显示图像是有效的,而在调试情况下则不起作用。请注意,当我进行调试时,我不想在调试控制台之外显示图像。
谢谢
小智 2
看来您已经完成了我提出的解决方案的第一步。
terminal.integrated.env.linux
. 单击 Edid settings.jsonterminal.integrated.env.linux
到此"terminal.integrated.env.linux": {
"DISPLAY": "localhost:10.0",
}
Run Code Online (Sandbox Code Playgroud)
ssh -X user@host
现在,这将无限期地起作用,只需每次打开侧面的 x11-forwarding 即可。我目前正在寻找解决方案的缺点是,"DISPLAY": "localhost:10.0"
每次您希望在本地开发时都需要删除,这不是最佳的。
编辑:由于您显然使用的是 Windows,因此您需要使用 X11 转发配置 putty,并使用 xming 或其他 x11 转发软件代替我的步骤 4。
归档时间: |
|
查看次数: |
2977 次 |
最近记录: |