从 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 应有的时候没有出现。
- 没有出现错误或异常 - 只是没有输出。
- 我在环境变量框中设置了
DISPLAY=localhost:10.0
运行 配置和 Python 控制台设置
- 运行ning 从不同的 python 控制台(即在 SSH shell 会话中键入
python3
)按预期工作。
知道如何解决这个问题,或者至少开始调试它吗?我怀疑问题出在 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()
调用之后。不确定这是否与远程相关。
我正在用 Raspberry Pi 做一个机器人项目,在单独的 PC 上开发,我想在 PC 上显示可视化效果,而 运行 在 Pycharm Python 使调试和扩展程序更容易的控制台。
我已经创建了一个 SSH 隧道来进行 X11 转发 - 这适用于正常 运行,但是一旦我勾选 执行 -> 运行 和 Python console,PC 应有的时候没有出现。
- 没有出现错误或异常 - 只是没有输出。
- 我在环境变量框中设置了
DISPLAY=localhost:10.0
运行 配置和 Python 控制台设置 - 运行ning 从不同的 python 控制台(即在 SSH shell 会话中键入
python3
)按预期工作。
知道如何解决这个问题,或者至少开始调试它吗?我怀疑问题出在 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()
调用之后。不确定这是否与远程相关。