windows 下配置sublime Text 3 以便同时使用python2 和 3。
1.安装Python
Python 目前有两个版本,分别是2.7和3.6,两者并不兼容,学习过程中有的用2.x有的用3.x,这两者是可以同时安装在windows环境下的。
我的系统,windows 7 64bit 。
python 下载地址:https://www.python.org/getit/
当前版本有 3.6.0 和 2.7.13。
1.1 Python 3.6.0的下载版本和安装
Python 3.6的win下载版本有很多,其中名字中含有“x86-64”的是64位版。同样是64位版,又有三种,分别是embeddable zip file,executable installer,web-based installer。
embeddable zip file,这个版本是用直接的一个压缩包,主要用于被别的编程环境用来嵌入调用使用的。
web-based installer,这个版本是基于web安装的,实际上就是下载一个安装器,运行这个安装器,会联接互联网下载安装。
executable installer,这个版本才是完全的本地安装程序,可以有独立的环境。一般我就用这个。
安装的时候没有其他的更多选项可调整,一般直接下一步即可,不过我这里修改了安装路径,直接安装到了C:\Python37下。
1.2 Python 2.7.13的下载版本和安装
Python 2.7下版本没有那么复杂,for win的版本就两个,都是MSI install格式的,这里我下载的是64位的。
Python 2.7的安装,默认是c:\Python27,这个就不用改了,直接下一步完成安装。
2. 配置系统环境及sublime以便同时使用Python 2 和 3
2.1 修改Python 2 和 3 的文件名
将安装好的python 2 和 3 的主程序文件名进行修改,以便区分使用。如果两个版本的主程序同名的话,很多时候容易造成混淆。
我将python 2.7 的主程序python.exe 和pythonw.exe 分别改成 pytohn2.exe 和Pythonw2.exe,同样的,在3.7下的两个主要的可执行文件的文件名后面也加上3
改名后,注意 要把开始菜单中的快捷方式也要相应的进行修改。这里有个奇怪的情况,python 2.6安装后生成的IDLE (Python GUI)快捷方式里面不能修改“目标”,不知道是怎么生成的。

最后参考python 3 中的对应快捷方式自己建了一个,起始位置为:c:\Python27,目标为:C:\Python27\pythonw.exe ".\lib\idlelib\idle.pyw"
同样的快捷方式 Python (command line)也是无法修改的,这个直接将c:\python27下的python.exe建个快捷方式放过去就好,注意快捷方式的其实位置要改成c:\Python27。
Python 3 下开始菜单中的快捷方式修改就简单多了,直接在目标里面相应的改成python3.exe 和pythonw3.exe就好了。
2.2 修改系统变量,以便在任何位置运行python 2 和 3
右键”计算机” –> 选择“属性” –> “高级系统设置” –> “环境变量”,然后在系统变量里面找到path,编辑它,并添加两个路径:【C:\Python36】和【C:\Python27】。
嗯,最好还要加上【C:\Python36\scripts】和【c:\Python\scripts】。
检查这两个版本的python的scripts目录,会发现pip.exe 有两个兄弟,3.6的是pip3.exe和pip3.6.exe。2.7的是pip2.exe和pip2.7.exe。so,小伙伴们知道以后使用pip的时候要用哪个了吧?
注意,修改了系统环境变量后,对已经打开的console是不会起效的,新开的console则会读取新的环境变量。这里困惑我好久......
BTW,同样的,如果sublime已开,则刚刚修改的系统变量,它是不认的,也要重开....
3.配置sublime text 3可以同时使用python 2 和3
sublime text 3本身的编译环境是有python的,这是系统配置,一般不做修改。
我这里针对2 和 3 分别new 了两个 Build System。
具体方法是:
1. Tools\Build System\New Build System
2. 在打开的代码编辑界面里面用下面的代码替换掉原有代码
{
"cmd":["python.exe", "-u", "$file"],
"path":"c:/python27/",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
然后Ctrl+s 保存,文件名改为: Python2.sublime-build
同样的将上面代码中的path改为c:/python36/,就是Python3.sublime-build
注意,上面的代码中path的路径中的斜杠方向,一定是"/",不是“\"。
注意,上面的代码中path的路径中的斜杠方向,一定是"/",不是“\"。
注意,上面的代码中path的路径中的斜杠方向,一定是"/",不是“\"。
然后在sublime text 3里面运行.py文件的时候,用 ctrl+Shift+b,就可以选择你要用的Python版本了。
3. 补充配置,让带input()的python程序运行于独立的console窗口
以python2为例,在上面的python2.sublime-build中,利用variants增加一个选项,可以在独立的console窗口中运行带input()的交互式python程序
修改后的python2.sublime-build代码如下:
{
"working_dir": "$file_path",
"cmd":["python2.exe", "-u", "$file"],
"path":"c:/python27/",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"variants":
[
{
"name": "Run in commandline",
"shell_cmd": "start cmd /c \"python2 -u \"${file_path}/${file_base_name}.py\" && pause\""
}
]
}
做以上修改后,用ctrl+shift+b运行,会多一个 python2 - run in commandline的选项,选择它会新开一个cmd窗口运行相应的python程序,结束后会暂停。
python3类似。