通过ssh崩溃的交互式matplotlib,Anaconda Scientific Python分发



我在一台远程Mac OS 10.8.5机器上安装了Anaconda,我正试图将matplotlib图形转发回我的本地机器,但IPython一直试图使用远程机器的本地图形并崩溃。其他人经历过这种情况吗?我可以用旧的Enthought Python Distribution(EPD)来做到这一点,所以我知道相关的机器都是为它设置的

我在其他地方问过这个问题,但运气不好。谢谢你的帮助。

localmachine:~ me$ ssh -Y remotemachine
Password:
Last login: Fri Sep 12 10:46:08 2014 from localmachine
remotemachine:~ me$ ipython
Python 2.7.8 |Anaconda 2.0.1 (x86_64)| (default, Aug 21 2014, 15:21:46) 
Type "copyright", "credits" or "license" for more information.
IPython 2.2.0 -- An enhanced Interactive Python.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
In [1]: import matplotlib
In [2]: import matplotlib.pyplot as plt
In [3]: plt.rcParams['backend']
Out[3]: 'TkAgg'
In [4]: matplotlib.use('TkAgg')
In [5]: plt.plot([1,2],[3,4])
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
CGColor with 0 components
/Users/me/anaconda/bin/python.app: line 3: 80244 Abort trap: 6           /Users/me/anaconda/python.app/Contents/MacOS/python "$@"

从Anaconda 2.0开始,Continuum停止将tk与X11链接,而是链接到Cocoa,这使得试图转发网络图形会使解释器崩溃。当我将tk降级到链接到X11:的最后一个版本时,使用TkAgg后端的交互式matplotlib的网络转发再次工作

conda install tk=8.5.13

缺点是现在我无法再升级/安装任何试图更新tk的东西。此外,Qt4Agg交互式后端仍然会使解释器崩溃。我想这是向前迈出的一步。

编辑:我看到你可以将包固定在某个版本,如这里所述。

最新更新