阿里旺旺导致的python运行错误
今天用pip时发现好多包无法安装,错误信息为:
File “D:Python2.7.6libmimetypes.py”, line 249, in enum_types
ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xb0 in position 1: ordinal not in range(128)
之前明明用的好好的,没有问题,怎么突然间就报错了呢,于是到mimetypes.py看看源码到底怎么写的。
打开该文件报错的第249行附近:
try: ctype = _winreg.EnumKey(mimedb, i) except EnvironmentError: break try: ctype = ctype.encode(default_encoding) # omit in 3.x! except UnicodeEncodeError: pass
可以看到编码错误的ctype来源于_winreg.EnumKey(),枚举mimedb,mimedb是这段代码所在函数的参数,于是继续找这个函数被调用的地方:
with _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, '') as hkcr: for subkeyname in enum_types(hkcr):
这是在枚举注册表的HKEY_CLASSES_ROOT,理论上来说,注册表的这里是不会出现中文的,手动打开注册表看个究竟:
呵。。呵。。阿里旺旺,我看你就很可疑!
把这个该死的项删掉,问题解决。
近期评论