>백엔드 개발 >파이썬 튜토리얼 >'DISPLAY가 정의되지 않은 경우 matplotlib를 사용하여 PNG 생성' 오류를 수정하는 방법은 무엇입니까?

'DISPLAY가 정의되지 않은 경우 matplotlib를 사용하여 PNG 생성' 오류를 수정하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-01 16:10:12188검색

How to Fix the

"DISPLAY가 정의되지 않은 경우 matplotlib를 사용하여 PNG 생성" 오류를 해결하는 방법

이 오류는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.