文章參考:http://eric.themoritzfamily.com/python-encodings-and-unicode.htmlphp
http://desert3.iteye.com/blog/757508html
https://github.com/misfo/Shell-Turtlestein/issues/6python
http://www.sublimetext.com/forum/viewtopic.php?f=3&t=2610git
https://github.com/uipoet/sublime-jshint/issues/24github
http://www.sublimetext.com/forum/viewtopic.php?f=3&t=2441&start=0&hilit=getfilesystemencoding(*)ui
完整的錯誤是:spa
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).net
這些文章不少是有重複內容的,我主要看的是後面標*的那一篇;code
這個問題的原由是配置文件目錄下Packages\Default目錄下的exec.py在編輯環境變量,可是環境變量中的字符集確少了ascii字符集htm
個人解決方案(參靠上面第6篇):
找到配置文件目錄位置(能夠參考個人另外一篇博文修改sublime Text 的默認配置文件位置)
其中的Packages\Default\exec.py,打開編輯
找到第41-42行:
for k, v in proc_env.iteritems():
proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
兩種修改方案:
一、果斷刪掉!(你沒看錯,就是這樣)
二、對它進行異常處理,避免它出錯時中止程序運行就像這樣:
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或是其餘程序的編譯,就會發現切正常了!