python-matplotlib 中 import pyplot 出现错误的解决.

出现_getfullpathname : emedded null character 的解决方法:(转自http://stackoverflow.com)

 

This is a bug in python, not matplotlib.

The issue is that winreg.EnumValue is not cutting string values at their length properly for some reason, and strings will include null characters which os.path.abspath is not able to process.

The registry entry where this happens is at SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts. Despite this not being matplotlib's fault we can still temporarily patch it so that it ends the string at '\0'. In font_manager.py, patch line 310 in the win32InstalledFonts() function to:

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]
posted @ 2016-02-07 00:06  简单数字  阅读(2407)  评论(0编辑  收藏  举报