Skip to content

아래와 같은 에러가 날 경우

 

>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
  File "C:\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 1412, in <module>
    fontManager = pickle_load(_fmcache)
  File "C:\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 963, in pickle_load
    with open(filename, 'rb') as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Anshul\\.matplotlib\\fontList.py3k.cache'

 

matplotlib.pyplot 임포트 시 위와 같은 문제가 발생한 경우,
pyplot에서 참조하는 폰트 cache가 생성되지 않아 발생한 것입니다.
이 cache는 OS의 폰트를 참조해서 생성되는데, 일부 윈도우의 경우 OS의 폰트 경로를 잘못 인식하는 경우가 있습니다.
따라서 OS의 폰트 경로를 참조하는 코드를 수정하면 해결할 수 있습니다.

에러가 생긴 부분은 C:\Anaconda3\lib\site-packages\matplotlib\font_manager.py의
win32InstalledFonts 메서드이며, try 부분의 코드를 다음과 같이 바꿔주면 됩니다.

        try:
            for j in range(winreg.QueryInfoKey(local)[1]):
                try:
                    key, direc, any = winreg.EnumValue( local, j)
                    if not is_string_like(direc):
                        continue
                    if not os.path.dirname(direc):
                        direc = os.path.join(directory, direc)
                    # direc = os.path.abspath(direc).lower()
                    # if os.path.splitext(direc)[1][1:] in fontext:
                    #     items[direc] = 1
                    direc = direc.split('\0', 1)[0]
                except EnvironmentError:
                    continue
                except WindowsError:
                    continue
                except MemoryError:
                    continue
            return list(six.iterkeys(items))

 

※ direc = direc.split('\0', 1)[0] 만 추가해 주는 것이 아니라 위 전체 코드를 다 바꾸어 주어야함

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소