Sublime Text 2下搭建Python环境时,最容易出的错误就是Python环境配置错误,导致build(Ctrl+B)后没有任何反应。
关于Python编程环境的配置,网上很容易搜索到。先默认你已经在windows上安装好了Python编译环境,并且在sublime text 2中已经安装好了必要的插件。下边我们就直接配置Python了,让Python代码能够在Sublime Text 2里欢快的跑起来。常见的配置主要是两种。
一、在Windows高级系统设置里设置好环境变量的系统变量如 path:c:\Python34。设置完系统环境变量后,运行cmd,输入python后回车,看是否有python的版本信息输入。如没有即为设置失败或者安装Python不成功。
二、启动Sublime Text 2,Preferences->Browse Packages 打开\Python\Python.sublime-build 文件,将里边的配置改为:
{
"cmd": ["python", "-u", "$file"],
"path": "D:/python34",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
以上两种配置Python编译器路径的方案,只需要使用一种就行,如果安装的Python版本比较多,建议使用第二种方案,便于改动。设置好Python编译器路径之后,打开Sublime Text 2菜单Tools->Build System 选中Automatic或者Python。在Sublime Text 2中加载一个简单的Python脚本,或者Ctrl+N创建一个新文件,输入代码(这里是使用Python3.4版本,如果是2.7版本或者更老的,print 函数后不需括弧()):
print ("Hi, Sublime Text 2")
保存到非中文路径中,如果保存到了中文路径,会提示编译失败,一定要注意。Tools->Build或者Ctrl+B,执行编译。如果编译成功了,那你很幸运,如果编译不成功或者Ctrl+B后没有任何反应,也不要太失望。Ctrl+~查看下编译错误,如果有错误如下,就需要改一点代码了
File ".\sublime_plugin.py", line 337, in run_
File ".\exec.py", line 154, in run
File ".\exec.py", line 48, in __init__
UnicodeEncodeError: 'ascii' codec can't encode characters in position 13-16: ordinal not in range(128)
在Sublime Text 2配置文件目录(C:\%AppData%\Sublime Text 2\Packages\Default)下找到exec.py,然后找到第41-42行:
for k, v in proc_env.iteritems():
proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
加上一个异常处理
try:
for k, v in proc_env.iteritems():
proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
except UnicodeDecodeError:
print "Encoding error..."
网络上很多人问Sublime Text 2 Ctrl+B执行编译为什么没反应。基本上都是在以上步骤中被坑。1、Python编译器路径没配好;2、Build System中编译语言配置错误;3、脚本保存在了中文路径;4、Sublime Text 2中配置文件的编码错误。