我在windows中使用pycharm但是python后端需要在unix上运行所以我在ubuntu中使用vagrant托管python应用程序/代码,但是我需要做一些绘图,有没有办法我可以启用matplotlab与pyrantm密谋合谋?谢谢
答案 0 :(得分:7)
尝试在PyCharm运行配置中设置DISPLAY环境变量,如下所示:
DISPLAY=localhost:10.0
我从vagrant ssh连接获得了显示值
vagrant@vagrant:$ echo $DISPLAY
localhost:10.0
答案 1 :(得分:1)
万一有人偶然发现同一问题。.您可以通过多种方式通过PyCharm启用X11。
对我来说,解决方案是使用-Y标志(或-X)创建终端会话,例如:
ssh -X user@ip
或
ssh -Y user@ip
-Y对我有用,因为它启用了受信任的X11转发,该转发不受X11安全扩展控件(ssh man page)的约束
您还需要导出DISPLAY 变量,就像user138180所说的
对我来说,有效的 matplotlib后端是“ tkagg ”。有关更多信息,请参见matplotlib faq。
我的远程计算机是centos7。我的本地计算机正在运行Manjaro。
打开终端会话的一种解决方法是遵循塔伦(Tarun)所说的here。
例如(感谢user138180),您可以使用以下代码测试其是否有效:
import matplotlib matplotlib.use('TkAgg')
import matplotlib.pyplot as plt plt.interactive(False)
plt.hist(np.random.randn(100))
plt.show()