我在一台远程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交互式后端仍然会使解释器崩溃。我想这是向前迈出的一步。
编辑:我看到你可以将包固定在某个版本,如这里所述。