如何配置 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 中)。希望對某人有幫助!

相關內容