錯誤:沒有顯示名稱且沒有$DISPLAY 環境變數
當用於資料視覺化的Python 庫Matplotlib 嘗試使用需要圖形輸出但找不到有效顯示環境的後端。
Matplotlib 預設使用 Xwindows 後端,這需要設定 X 伺服器和 $DISPLAY 環境變數。在給定的場景中,該錯誤表示正在執行 Python 腳本的伺服器上顯示名稱和 $DISPLAY 變數都不可用。
解決方案:
要解決此問題,您可以將 Matplotlib 設定為使用不需要圖形輸出的非互動式後端。在匯入matplotlib 之前,在腳本開頭新增以下行:
<code class="python">import matplotlib matplotlib.use('Agg')</code>
這會將Matplotlib 配置為使用Agg 後端,這是一個非互動式後端,以檔案格式產生輸出,例如作為PNG或PDF。
或者,您可以將以下行新增至.config/matplotlib/matplotlibrc 檔案中,以使非互動式後端成為預設後端:
backend: Agg
如果您有如果遠端電腦上有可用的X 伺服器,則可以使用以下SSH 命令轉送X11 連線:
<code class="bash">ssh -X remoteMachine.com</code>
這將在遠端電腦上設定$DISPLAY 環境變量,允許Matplotlib 使用Xwindows 後端.
最後,您可以嘗試手動匯出$DISPLAY 變數:
<code class="bash">export DISPLAY=mymachine.com:0.0</code>
這會將$DISPLAY 變數設定為指定的遠端電腦並顯示編號。
有關此錯誤和可能的解決方案的更多信息,請參閱Matplotlib 文件:https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server
以上是如何修復 Matplotlib 中的「無顯示名稱且無 $DISPLAY 環境變數」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!