python | 报错问题排查方法总结UnicodeDecodeError: 'ascii' codec ...

来源:互联网 发布:西安行知中学张淑珍 编辑:程序博客网 时间:2024/06/05 20:31

错误已经解决

Error

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

Environment

Win10,pycharm community 2017.2.4,anaconda python2.7

Description

前段时间写python的时候,下载安装新的库的时候,遇到编译器pycharm的报错:unicodeDecodeError。
这个错误的原因是包含了中文所以编码错误。

但是我的程序里面并没有中文,项目的路径里也没有中文,python安装路径也没有中文,百思不得其解,尝试了网上的各种方法最后…

我发现,我电脑的用户名是我的中文名字,而python2.7的环境变量默认放在了C盘的用户文件夹里,所以是这个路径里有中文。。。但是我又没法改这个文件夹的名字,于是我新建了一个本地用户,同步了两遍的东西,然后在那个用户下跑程序。。。

这个方法可能不是很优雅。。
我在想是不是可以直接改环境变量的位置不就行了,待尝试

Summary

遇到这种编码报错问题,可以从几个方面排查原因:

项目角度
  • 查看代码中是否有中文,如果有,可以尝试这种解决办法:
import sys  reload(sys)  sys.setdefaultencoding('utf8')  

或在python27\Lib\mimetype.py文件中修改默认encoding为gbk
- 查看项目路径中是否有中文,最好将项目放在无中文的路径下

python环境角度

  • 查看python安装路径是否有中文
    解决方法:修改安装地址或卸载重下,在编译器里run -> edit configuration修改interpreter为新的python
  • 查看电脑用户名是否是中文/环境变量路径有中文(因为python的默认环境都是放在C盘用户文件夹中的,因此用户名是中文的话会导致编码问题)
    解决方法:(这个就是我的问题)就需要换个账户或者修改环境变量的位置

建议能用python3.6就用3.6

阅读全文
1 0