mac 平台 sublime text 3 中 python3 中文输出 UnicodeEncodeError
环境
- osx ei capitan
- lang:en_US
- python 3.6.4
- sublime text 3
配置
osx
默认的 python
版本是 2.7
,sublime text 3
提供的 build
系统也是基于 python2
,要使用 python3
,需要 new bulid system
,命名为Python3
即可。
Preferences > Browse Packages > User > Python3.sublime-build
添加以下内容并保存
{
"cmd":["/usr/local/bin/python3","-u","$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
分析
测试 print
英文输出成功,中文输出总是UnicodeEncodeError
,查阅了很多博客找到了一个可行的方法。
首先在idle
中执行
import sys
sys.stdout.encoding
输出结果 'us-ascii'
可见是输出设置的问题,默认英文状态采用 ASCII
肯定无法显示中文。
解决
修改 Python3.sublime-build
,添加一行
{
"cmd":["/usr/local/bin/python3","-u","$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"LANG": "en_US.UTF-8"}
}
再次测试,中文可以显示。