如何配置 matplotlib 以在 EC2 上运行?

如何配置 matplotlib 以在 EC2 上运行?

我们正在尝试为学生建立一个虚拟开发/研究云环境。学生需要能够登录、启动 Python IDE 并为他们的作业绘制一些图表。

我们运行的是 64 位 Ubuntu 12.10,安装了 Python 和 IDLE ide。学生使用 ssh -X 登录并启动 IDLE,它会生成一个 GUI 窗口。

问题:在 ide 中运行类似这样的程序

nltk.download()

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

book2.dispersion_plot("chair")

什么都没发生,我们期望出现一个新窗口并显示情节(这就是在本地机器上发生的事情)。我怀疑这与 X11 有关,但目前我对系统管理员的了解远远超出了我的深度。从 Mac(xQuartz)和 PC(xming)客户端都证实了这一点。任何帮助都将不胜感激。

答案1

知道了。

matplotlib 使用渲染后端,该后端必须与 x11 配合良好。但手动选择正确的后端 [matplotlib.use('TkAgg')] 会引发异常。事实证明,matplotlib 无法在 ubuntu 下使用 pip 正确构建,缺少一些依赖项——特别是 x11 友好后端所需的依赖项(在 matplotlibrc 中将默认值设置为“Agg”)。已修复:

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

以上正确将默认后端设置为 TkAgg(在 matplotlibrc 中)。希望这对某些人有帮助!

相关内容