亚马逊EC2 x11的问题

我们正试图为我们的学生build立一个虚拟的开发/研究云环境。 学生需要能够login,启动python的IDE,并绘制一些图表作业。

我们正在运行64位Ubuntu 12.10,安装了Python和IDLE ide。 学生使用ssh -Xlogin并启动IDLE,这会产生一个GUI窗口。

问题:在IDE中运行这样的东西

nltk.download() 

产生一个新的窗口。 但是当我们尝试这样的事情:

 book2.dispersion_plot("chair") 

什么也没有发生 ,我们希望有一个新的窗口产生和显示情节(这就是本地机器上发生的事情)。 我怀疑这与X11有关,但在这一点上,我已经摆脱了我对系统pipe理知识的深度了。 从Mac(xQuartz)和PC(xming)客户端证实了这一点。 任何帮助将非常感激。

得到它了。

matplotlib使用渲染后端,它必须与x11很好玩。 但手动select正确的后端[matplotlib.use('TkAgg')]会引发exception。 事实certificate,matplotlib不能在ubuntu下用pip正确构build,缺less一些依赖 – 特别是x11友好的后端(在matplotlibrc中将缺省设置为“Agg”)所需的依赖。 修正:

 pip uninstall matplotlib //unistalls matplotlib apt-get build-dep matplotlib //download and build needed dependencies pip -U matplotlib //force matplotlib rebuild 

上面正确设置默认后端TkAgg(在matplotlibrc中)。 希望帮助别人!