您的位置:首页 > 编程语言 > Python开发

Python2.7编码问题:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position...解决方法

2018-01-20 21:48 1276 查看
本人在Ubuntu使用sublime text3运行Python程序时遇到编码问题:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 39: ordinal not in range(128)

此问题出现在:import matplotlib.pyplot as plt 语句中

其原因是matplotlib库中使用了不符合当前sublime text3中Python编码环境的语句,在命令行不会出现此问题。

解决方法:

在Python程序最前面加上以下语句:

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

将默认编码设置为utf-8

此时问题解决,但是在每个py脚本加上这句话太麻烦,这时我们只需在出问题的地方加上这三句话。

例如:我在导入matplotlib时出现编码问题,找到编码出错的文件为__init__.py



我们只需在这个__init__.py文件中加入上面三行指令,以后使用matplotlib的py脚本就不会出现此编码问题。

找到__init__.py文件可通过在matplotlib处右键,使用Anaconda的Goto
Definition功能。当然也可通过其他方式找到此文件。



__init__.py:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐