我的设置是在 Linux 服务器上远程运行 ipython 笔记本,然后通过 ssh 隧道从 OSX 连接到它。
我可以确认 X 转发工作正常,并且从启动 ipython 的同一终端我可以使用 gnuplot 等。
在我本地机器上的 ipython session 中尝试做类似的事情时
import matplotlib as mpl
mpl.use("GTK3cairo")
import matplotlib.pyplot as plt
plt.plot([1,2,3,4],'*-')
我得到的是[<matplotlib.lines.Line2D at 0x54bcc90>]
.我尝试了其他各种后端,结果相同。使用 %pylab inline
时情节出现了,但我希望它们在单独的窗口中。
我想 X 转发仍然有问题 - 调试它的最佳方法是什么?欢迎所有建议。
最佳答案
当连接到服务器时,使用
-L
(执行本地端口转发)而不是-X
(执行图形输出转发),如下所示:ssh -L 8000:localhost:8888 your_user_name@your_server_ip
在您的代码中,在导入
pyplot
之前使用%matplotlib inline
预先加载后端并以;
结尾,例如这个:%matplotlib inline from matplotlib import pyplot as plt plt.figure() plt.imshow(sample_image) plt.show();
关于python - 远程 ipython 内核不显示图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28831863/