Python2在Sublime Text3中print中文时报错原因及解决办法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python2在Sublime Text3中print中文时报错原因及解决办法相关的知识,希望对你有一定的参考价值。
1,出现的问题及分析
在Sublime Text3中用ctrl+B运行python程序时,如果要打印输出英文时正常运行,而输出中文时则会报错,具体情况如下:
Traceback (most recent call last): File "D:\PythonWorkplace\test_print_unicode.py", line 3, in <module> print u‘程序‘ UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-1: ordinal not in range(128)
分析:参考 https://www.v2ex.com/t/163786
2,解决办法
(1)修改Sublime Text3中的设置
打开Preference-->Browse Packages...,查看是否存在python文件夹,若没有,可从Sublime Text2中相似路径(.../Sublime Text2/Packages)中拷贝Python文件夹,再从Python文件夹下修改Python.sublime-build文件,修改内容如下:
原文件:
{ "cmd": ["python", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" }
修改后:
{ "cmd": ["python", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python", "env": {"PYTHONIOENCODING": "utf8"} }
之后即可正常运行python程序而不报错。
(2) 修改文件头部
在文件头部添加如下代码:
import sys reload(sys) sys.setdefaultencoding(‘utf-8‘)
该方法在输出中文时需要在每个文件头部都添加,较为麻烦,不太推荐
以上是关于Python2在Sublime Text3中print中文时报错原因及解决办法的主要内容,如果未能解决你的问题,请参考以下文章
Sublime Text3 配置 Python2 Python3
在Sublime Text3中配置Python3的Build System
ubuntu sublime text3 python 配置 sublime text3 python 配置