配置 macOS PyCharm 实现 X11 转发

3
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控制台来绘图。没有错误显示,但是图表没有被转发到我的本地机器。

2个回答

2

根据@Ippiers的答案,在Windows上可以通过以下方式实现:

  1. 安装xming(并运行它)
  2. 使用启用X11转发的putty会话
  3. 在putty会话中输入env命令并检查DISPLAY变量,它可能是localhost:10.0
  4. 在pycharms的运行配置中设置此显示变量DISPLAY=localhost:10.0
  5. matplotlib.use('TkAgg') 因为Qt5会给我带来错误

2

好的,我发现我需要做两件事才能让它对我工作得足够好:

(1) 在“构建、执行、部署 -> Python控制台”下的环境变量中设置DISPLAY = localhost:10.0

(2) 就在

之后添加以下代码:

import matplotlib
matplotlib.use('Qt5Agg')

通过这个,我可以像使用本地解释器一样使用远程解释器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接