在DISPLAY 環境下嘗試使用matplotlib 產生PNG 映像時會出現此錯誤變數未設定或未定義。這種情況通常發生在無頭環境(例如伺服器或批次腳本)中執行 matplotlib 時。
此錯誤的主要原因是 matplotlib 預設選擇需要 X Windows 顯示的後端。要解決此問題,您必須明確強制 matplotlib 使用不需要 X Windows 的後端。
解決方案:
要解決此問題,請在之前包含以下程式碼匯入任何其他matplotlib 模組:
import matplotlib # Force matplotlib to use a backend that does not require X Windows. matplotlib.use('Agg')
這會將後端設定為Agg(Anti-Grain Geometry)後端,旨在產生影像,無需X Windows 顯示。
替代解決方案:
另一個解決方案是直接在中設定後端.matplotlibrc 設定檔。該檔案通常位於 ~/.config/matplotlib 目錄中。將以下行新增至檔案:
backend: Agg
這會將所有 matplotlib 實例的後端永久設定為 Agg。
重要
記住必須在導入任何其他 matplotlib 模組之前實作這些解決方案,例如pyplot。否則,matplotlib 將已經選擇其後端,並且 use('Agg') 指令將無法運作。
以上是如何修復'當 DISPLAY 未定義時使用 matplotlib 產生 PNG”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!