搭建python的sublime text 2开发环境时调试Python时遇到了如下问题(以前一直能用,突然就不行了...):
Sublime Text 2 ctrl+b 如果出现运行为空白,按ctrl+`显示错误:
Traceback (most recent call last):
File ".\sublime_plugin.py", line 325, in run_
File ".\exec.py", line 145, in run
File ".\exec.py", line 42, in __init__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc0 in position 9: ordinal not in range(128)
以下是解决方法:解决方法原链接
这个问题的起因是配置文件目录下Packages\Default目录下的exec.py在编辑环境变量,但是环境变量中的字符集确少了ascii字符集。
找到配置文件目录位置,打开其中的Packages\Default\exec.py进行编辑
找到第41-42行:
for k, v in proc_env.iteritems():
proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
两种修改方案:
1、果断删掉!(你没看错,就是这样)
2、对它进行异常处理,避免它出错时停止程序运行就像这样:
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
然后你在尝试对pyhon或是其他程序的编译,就会发现切正常了!
以上方法本人亲测可行,mark一下~
也希望可以帮助到其他朋友~