码迷,mamicode.com
首页 > 编程语言 > 详细

Python ——异常备忘

时间:2014-08-19 18:54:55      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:os   io   for   代码   line   ad   ef   on   

为了便于在Python中安装第三方库,今天在Python下装了pip,分钟内安装完成,兴致勃勃地想一试pip安装的便捷性,

可惜一开始就被碰钉了丫!请看异常信息:

=======前面省略若干字=================
File "C:\Python27\lib\mimetypes.py", line 358, in init
db.read_windows_registry()
File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry
for subkeyname in enum_types(hkcr):
File "C:\Python27\lib\mimetypes.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)

解码异常,瞬间扫兴的节奏有木有!这个以前也没搞过,怎么办呢?看看异常信息吧,最后读取的File是"C:\Python27\lib

\mimetypes.py",那就到这去看看有木有什么和解码有关的吧(根据异常提示,相关代码应该在249之后啦,找default_encoding吧),

果然,在256行有哦: default_encoding = sys.getdefaultencoding(),字节0xb0是gbk编码范围内的(GB2312中汉字的编码范围为

,第一字节0xB0-0xF7),根据异常信息当前系统默认编码应该是‘ASCII’,改为gbk就ok啦!那么在256行之前加上以下代码:

if sys.getdefaultencoding() != ‘gbk‘: #写GB2312也可以
reload(sys)
sys.setdefaultencoding(‘gbk‘)

再运行,就可以安装咯!

Python ——异常备忘,布布扣,bubuko.com

Python ——异常备忘

标签:os   io   for   代码   line   ad   ef   on   

原文地址:http://www.cnblogs.com/java-wgm/p/3922643.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!