그래프를 그리기 위해 파이썬 쉘에 import 함수를 실행하자 아래와 같은 에러가 발생하였다.
ValueError: _getfullpathname: embedded null character in path
In[2]: import matplotlib.pyplot as pltTraceback (most recent call last):File "D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 1429, in <module>fontManager = pickle_load(_fmcache)File "D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 965, in pickle_loadwith open(filename, 'rb') as fh:FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\i0212011\\.matplotlib\\fontList.py3k.cache'During handling of the above exception, another exception occurred:Traceback (most recent call last):File "D:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2881, in run_codeexec(code_obj, self.user_global_ns, self.user_ns)File "<ipython-input-2-eff513f636fd>", line 1, in <module>import matplotlib.pyplot as pltFile "D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 29, in <module>import matplotlib.colorbarFile "D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\colorbar.py", line 36, in <module>import matplotlib.contour as contourFile "D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\contour.py", line 22, in <module>import matplotlib.font_manager as font_managerFile "D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 1439, in <module>_rebuild()File "D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 1418, in _rebuildfontManager = FontManager()File "D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 1053, in __init__self.ttffiles = findSystemFonts(paths) + findSystemFonts()File "D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 325, in findSystemFontsfor f in win32InstalledFonts(fontdir):File "D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 241, in win32InstalledFontsdirec = os.path.abspath(direc).lower()File "D:\ProgramData\Anaconda3\lib\ntpath.py", line 544, in abspathpath = _getfullpathname(path)ValueError: _getfullpathname: embedded null character in path
matplotlib의 버그라고 생각하고 matplotlib을 다시 설치해 보았으나 여전히 문제는 계속되었다.
구글링해보니 matplotlib의 버그가 아니고 python의 버그라고 한다.
해결 방법
1. font_manager.py 파일을 열고 winreg.EnumValue 를 검색한다.
2. 주변 코드를 아래와 같이 수정한다.
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 = direc.split('\0', 1)[0]
'CAE > Enjoy Programming' 카테고리의 다른 글
[Trouble Shooting] 첨자 인덱스는 실수형 양의 정수(복소수형 정수가 아님)이거나 논리형이어야 합니다 (1) | 2017.11.29 |
---|---|
VS Code (0) | 2017.11.29 |
#Python에서 #module 사용하기 (0) | 2016.03.26 |
#Python #class에서 #self의 사용법 (0) | 2016.03.26 |
Solve matrix equation Ax=b (0) | 2012.03.12 |