从 Pycharm Python 控制台写入远程 X 服务器时没有任何显示

Nothing appears when writing to remote X server from the Pycharm Python Console

我正在用 Raspberry Pi 做一个机器人项目,在单独的 PC 上开发,我想在 PC 上显示可视化效果,而 运行 在 Pycharm Python 使调试和扩展程序更容易的控制台。

我已经创建了一个 SSH 隧道来进行 X11 转发 - 这适用于正常 运行,但是一旦我勾选 执行 -> 运行 和 Python console,PC 应有的时候没有出现。

知道如何解决这个问题,或者至少开始调试它吗?我怀疑问题出在 Pycharm 如何启动远程控制台会话,不确定某些功能是否被禁用或以某种方式被沙盒化。

我设法解决了这个问题,但我不知道为什么修复有效。

之前:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

这会 运行 正确,没有例外,但不会在我的本地系统上产生任何输出。

然后我更改了 pyplot import/alias 行,现在是:

import matplotlib
matplotlib.use('TkAgg')
from matplotlib import pyplot as plt

然后它开始工作了!

如果有人能解释为什么这会有所不同(记住旧代码在普通控制台中工作正常,只是在 PyCharm 控制台中不行)我很想知道。

作为我对此调查的一部分,我认为这是一个较低级别的东西,所以发现了这个失败的测试:

>>> from tkinter import Tk
>>> window = Tk()
>>> window.mainloop()

在普通控制台中,window 出现在 Tk() 调用之后,在 PyCharm 控制台中,它出现在 mainloop() 调用之后。不确定这是否与远程相关。