python2.7中的UnicodeDecodeError: 'ascii' codec can't decode byte 0

使用ez_setup.py安装setuptools报错如下

Traceback (most recent call last): File "httpservice.py", line 5, in <module> import SimpleHTTPServer File "C:\Python27\lib\SimpleHTTPServer.py", line 27, in <module> class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): File "C:\Python27\lib\SimpleHTTPServer.py", line 208, in SimpleHTTPRequestHandler mimetypes.init() # try to read system mime.types 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)


解决方法:

通过分析最后的错误提示,是由于setuptools包中的setup.py编码格式错误,导致无法安装,以上虽然报错,但是setuptools-5.5.zip已经下载完成。那么就可以通过手工安装setuptools包:

1、解压setuptools-5.5.zip至C:\Python27\Lib\site-packages\setuptools-5.5

 

2、修改setup.py,在代码中添加如下几句即可: 

修改默认的编码方式

import sys
reload(sys) 
sys.setdefaultencoding('gb18030') 

 

3、同时,打开python的Lib文件夹下的 mimetypes.py 文件,找到大概256行的

‘default_encoding = sys.getdefaultencoding()’。

在这行前面添加三行:

  1. if sys.getdefaultencoding() != 'gbk':  
  2.     reload(sys)  
  3.     sys.setdefaultencoding('gbk')
  4. default_encoding = sys.getdefaultencoding()  

参考:http://blog.csdn.net/scape1989/article/details/24535441

 

4、在cmd窗口中进入Python27\Lib\site-packages\setuptools-5.5目录,然后输入:python setup.py install,即可安装成功

 

5、然后就会在python的安装目录中生成scripts目录,其中有easy_install.exe

 

6、设置环境变量。

我的电脑→右键→属性→高级→环境变量,在PATH值里面,添加c:\Python27\Scripts


最后可以在命令行运行easy_install了

转载于:https://www.cnblogs.com/sikongluoxing/p/3910601.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值