首頁  >  文章  >  後端開發  >  在伺服器上使用 Matplotlib 時如何解決「_tkinter.TclError:無顯示名稱且無 $DISPLAY 環境變數」錯誤?

在伺服器上使用 Matplotlib 時如何解決「_tkinter.TclError:無顯示名稱且無 $DISPLAY 環境變數」錯誤?

DDD
DDD原創
2024-10-22 20:50:29114瀏覽

How to Resolve

解決「_tkinter.TclError:無顯示名稱且無$DISPLAY 環境變數」錯誤

在伺服器上執行涉及Matplotlib 的Python 腳本時,您可能會遇到錯誤「_tkinter.TclError:沒有顯示名稱,也沒有$DISPLAY 環境變數。」出現這個錯誤是因為Matplotlib預設使用Xwindows後端,這需要圖形顯示環境。但是,伺服器環境通常缺乏此功能。

要解決此問題,您可以指示 Matplotlib 使用非互動式後端。在匯入pyplot 之前,在腳本開頭插入以下程式碼:

<code class="python">import matplotlib
matplotlib.use('Agg')</code>

或者,您可以將以下行新增至.config/matplotlib/matplotlibrc 檔案中:

backend: Agg

這將配置Matplotlib 使用Agg 後端,不需要圖形顯示。

另一個選項是使用 ssh 和 X11 轉發:

ssh -X remoteMachine

此命令可讓您存取遠端 Xwindows 應用程式。

最後,您可以設定 DISPLAY 環境變數:

<code class="bash">export DISPLAY=mymachine.com:0.0</code>

透過指定有效的顯示名稱,Matplotlib 將能夠連接到另一台電腦上的圖形顯示。

有關更多信息,請參閱 Matplotlib 常見問題解答:https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server

以上是在伺服器上使用 Matplotlib 時如何解決「_tkinter.TclError:無顯示名稱且無 $DISPLAY 環境變數」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn