
我們正在嘗試為我們的學生建立一個虛擬的開發/研究雲端環境。學生需要能夠登入、啟動 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 中)。希望對某人有幫助!