为 X11 转发配置 macOS PyCharm
Posted
技术标签:
【中文标题】为 X11 转发配置 macOS PyCharm【英文标题】:Configuring macOS PyCharm for X11 Forwarding 【发布时间】:2017-12-12 05:17:25 【问题描述】:import numpy as np
import matplotlib
import matplotlib.pyplot as plt
x = np.linspace(1,1000)
plt.plot(np.linspace(1, 1000))
print("Works")
plt.show()
我试图在远程机器上的 PyCharm 中运行上面的简单代码,但在我的本地机器 (mac) 上显示绘图。情节没有出现。我确实在运行 xQuartz X11 服务器。 Pycharm 可以很好地运行远程解释器。
如果我从 macOS 终端运行它,使用
ssh -X pier@129.168.0.181
python test.py
plt.show() 有效。
我认为缺少的部分是 -X,它使 X11 能够转发到我的本地计算机。
PyCharm 的 ssh 命令在哪里包含这个?我花了太多时间试图弄清楚这一点......
注意:我也无法使用 PyCharm 的 Python 控制台进行绘图。未显示任何错误,但绘图未转发到我的本地计算机。
【问题讨论】:
【参考方案1】:好的,我发现我需要做两件事才能让它对我来说足够好:
(1) 在Build, Execution, Deployment -> Python Console下的Environment Variables中设置DISPLAY = localhost:10.0
(2) 紧接着
import matplotlib
matplotlib.use('Qt5Agg')
有了这个,我可以像使用本地解释器一样使用远程解释器。
【讨论】:
【参考方案2】:@Ippiers 答案的构建,在 Windows 上通过以下方式工作:
-
安装 xming(并让它运行)
在启用 X11 转发的情况下运行 putty 会话
在 putty 会话上的 env 并检查 DISPLAY 变量,它可能是 localhost:10.0
在pycharms运行配置中设置这个显示变量DISPLAY=localhost:10.0
matplotlib.use('TkAgg')
因为 Qt5 给了我错误
【讨论】:
以上是关于为 X11 转发配置 macOS PyCharm的主要内容,如果未能解决你的问题,请参考以下文章
使用 Cygwin ssh 进行 X11 转发得到端口 6000 连接被拒绝