在伺服器上執行涉及Matplotlib 的Python 腳本時,您可能會遇到到錯誤「_tkinter.TclError:沒有顯示名稱,也沒有$DISPLAY環境變數。然而,伺服器環境通常缺乏此功能。
要解決此問題,您可以指示 Matplotlib 使用非互動式後端。在導入 pyplot 之前,在腳本開頭插入以下程式碼:
import matplotlib
matplotlib.use('Agg')
或者,您可以將以下行新增至.config/matplotlib/matplotlibrc 檔案:
backend: Agg
這將會設定Matplotlib 使用Agg 後端,不需要圖形顯示。
另一個選項是使用 ssh X11轉發:
ssh -X remoteMachine
該命令可讓您遠端存取Xwindows應用程式。
最後,您可以設定DISPLAY環境變數:
export DISPLAY=mymachine.com:0.0
透過指定有效的顯示名稱, Matplotlib 將能夠連接到另一台計算機上的圖形顯示。
有關更多信息,請參閱 Matplotlib 常見問題:https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-網絡應用程式伺服器
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3