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

本人在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:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值