在伺服器上執行涉及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中文網其他相關文章!