首頁  >  文章  >  後端開發  >  如何修復 Matplotlib 中的「無顯示名稱且無 $DISPLAY 環境變數」錯誤?

如何修復 Matplotlib 中的「無顯示名稱且無 $DISPLAY 環境變數」錯誤?

Barbara Streisand
Barbara Streisand原創
2024-10-22 21:02:02153瀏覽

How to Fix the

錯誤:沒有顯示名稱且沒有$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中文網其他相關文章!

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