之前用的时候都一切正常,今天突然就出现了这个问题。按ctrl+b执行的时候结果只有空白,查了很多文章都只提到了中文路径、系统路径等等,没有解决问题,直到看到了这篇文章:http://384444165.iteye.com/blog/1798107
文章中提到,Sublime Text 2 ctrl+b 如果出现运行为空白,按ctrl+`来显示错误,如果错误是UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xc0 in position 9: ordinal not in range(128),那么就和我遇到的情况一样了。
这个问题的起因是配置文件目录下PackagesDefault目录下的exec.py在编辑环境变量,但是环境变量中的字符集缺少了ascii字符集。
解决方法如下:
找到配置文件目录位置(在sublime text 2中点Preference -> Browse Packages)在Default目录下找到exec.py,编辑;
找到以下两行:
1
2 |
for k, v in proc_env.iteritems():
proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding()) |
更改为:
1
2 3 4 5 6 |
for k, v in proc_env.iteritems():
try: proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding()) except UnicodeDecodeError: print("Encoding error") print("VARIABLE: ", k, " : ", v) |
就能够解决问题了。