码迷,mamicode.com
首页 > 其他好文 > 详细

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0

时间:2017-04-29 23:40:03      阅读:403      评论:0      收藏:0      [点我收藏+]

标签:文件   cep   set   代码   reload   机器   range   pos   code   

Windows 7/8/10机器上安装Python 2.7后,下载一些Package包进行setup时总是报错UnicodeDecodeError,如下:

File "C:/Python27/lib/mimetypes.py", line 250, in enum_types

ctype = ctype.encode(default_encoding) # omit in 3.x!

UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe0 in position 0: ordinal not in range(128)

-----------------------------------

(1) 在网上搜索到的解决方法如下:

1. 这是Python 2 mimetypes的bug

2. 需要将Python2.7/lib/mimetypes.py文件中如下片段注释或删除:

try:
    ctype = ctype.encode(default_encoding) # omit in 3.x!
except UnicodeEncodeError:
    pass

-----------------------------------

(2)补充其它解决办法

解决办法:

在报错的页面添加代码:

import sys
reload(sys)
sys.setdefaultencoding(‘utf8‘)

-----------------------------------

执行 Python ez_setup.py,报错:

UnicodeDecodeError: ‘utf8‘ codec can‘t decode byte 0xb0 in position 35: invalid
 start byte

解决办法:

在报错的页面添加代码: import sys
reload(sys)
sys.setdefaultencoding(‘gb18030‘)

然后再执行 Python ez_setup.py,成功了。

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0

标签:文件   cep   set   代码   reload   机器   range   pos   code   

原文地址:http://www.cnblogs.com/emanlee/p/6786432.html

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