Win10下,通过源码方式安装第三方模块时,即 python setup.py install 这种形式;报下面这种错误:
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xd7 ……
原因:Python 默认编码是 ascii,但 Win10 系统下默认编码是 gbk;两边不统一,导致出错;
解决方案:修改 Python 环境下的默认编码,找到 Python的 安装目录,在 Lib\site-packages 文件夹下新建一个 sitecustomize.py 文件,内容为:
#!/usr/bin/env python
# coding=utf-8
import sys
reload(sys)
sys.setdefaultencoding('gbk')
sitecustomize.py 是一个特殊的脚本,Python 在运行时会先执行这个脚本的内容,可以在里边配置一些全局或默认的东西;
这种错误出现在刚装了 Python 环境,第一次源码安装第三方模块、或执行之前写好的脚本时;
如果之前一直没问题,突然报这个错,则可能是当前代码的问题,可以先从当前代码入手找问题;
目前只在 Win10 中发现了此问题,记得之前的 Win7 没问题;