Anaconda2 安装过程中出现的ascii编码或者utf-8编码错误解决方案

问题类似这样:UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xcb in position 0: ordinal not in range(128) ‘UnicodeDecodeError’
我遇到的问题是‘ascii’编码错误,于是在D:\Anaconda2\Lib\site-packages(这是我的文件路径)新建sitecustomize.py
内容为:
import sys sys.setdefaultencoding('utf-8')
但问题没有解决。
上网查资料后,认为还是因为我的用户目录是中文的原因,所以,采用以下方法:
修改编码为gbk,修改D:\Python27\Lib\ntpath.py(位置由个人python安装目录决定)文件中的def join(path, *paths)函数,在函数内第一行加入:

reload(sys)  
sys.setdefaultencoding('gbk')  

结果如图:

def join(path, *paths):  
    """Join two or more pathname components, inserting "\\" as needed."""  
    reload(sys)  
    sys.setdefaultencoding('gbk')  
    result_drive, result_path = splitdrive(path)  
    for p in paths:  
        p_drive, p_path = splitdrive(p)  

然后,运行程序测试了一下,发现问题解决了。原因在于gbk编码是对中文友好的,具体原因大家可以是了解一下。

当然,上文提到根本原因是我的中文用户名造成的,那么可以查找一下问题代码出现的地方:
pip在下载的时候调用了这样一行代码

temp_dir = tempfile.mkdtemp('-unpack', 'pip-')  

pip把下载的临时文件存放在了用户临时文件中,这个目录一般是C:\Users\用户名\AppData\Local\Temp,目录名中有中文,显然ascii这种编码是不支持的。
解决办法就是把上面的temp_dir那段代码修改一个不包含中文的目录,修改这段代码的文件位置在D:\Python27\Lib\site-packages\pip-6.1.1-py2.7.egg\pip\download.py(位置由个人python安装目录决定)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值