VS Code配置多Python版本运行环境
正儿八经开始使用的第一个编辑器就是VS Code,所以基本没怎么用过Sublime,比较是无从谈起,不过VS Code用起来真是顺手啊。配置好的话,直接在VS Code里面进行Python开发、调试,完全不是问题。
不过使用Python难免需要用到多个Python版本,讲一下如何在VS Code中进行配置。
系统中Python多版本管理
之前一直用Anaconda,直接用conda创建并管理多版本Python。最近用着总出现一些莫名其妙的问题,于是卸载了直接换回了官方“纯净版”。
在默认使用Python3.5的情况下,系统中环境变量指向Python3.5,同时在(假如)“C:\Python27”目录下装有Python2.7。可以在Python3.5的根目录中创建名为py2.bat的文件,文件内容:
@ echo off
C:\Python27\Python.exe %*
这样直接在命令行中输入py2
就可以使用Python2.7开发环境,输入Python
则是默认的Python3.5开发环境。文件名称py2
可以更换成个人习惯的名称,命令行中输入相应名称即可(参考 ART^{9} 的[一篇文章][1])。
安装第三方库的话,以下命令安装到默认Python开发环境:
pip install somelib
安装到Python2开发环境:
py2 -m pip install somelib
VS Code配置Python开发环境
使用VS Code打开一个文件夹,这个文件夹在VS Code中便是一个工作空间。VS Code会在文件夹中自动创建一个.vscode
文件夹,里面是一些配置文件。
在.vscode
中有一个tasks.json
文件,这个文件就是进行配置运行环境的,最简单和常用的配置为(参考 xin053 的[一篇文章][2]):
{
"version": "0.1.0",
"command": "python",
"isShellCommand": true,
"args": ["${file}"],
"showOutput": "always"
}
其中command
是python
可执行文件的路径,在添加的系统环境变量中之后可以直接写python
,否则需要给出完整路径。args
就是command
运行的参数,即当前文件。
在安装上述方法配置了Python双版本运行环境后,对tasks.json
进行简单修改就可以了:
{
"version": "0.1.0",
// 在Linux和Mac系统中使用"sh".
"command": "cmd",
"isShellCommand": true,
// global args
// 在Linux和Mac系统中使用"-c"(注意大小写).
"args": ["/C"],
"showOutput": "always",
"suppressTaskName": false,
"tasks": [
{
"taskName": "py2",
// task args
"args": ["${file}"],
},
{
"taskName": "python",
"args": ["${file}"]
}
]
}
注意suppressTaskName
属性,VS Code官网上的解释为:
If
suppressTaskName
istrue
, the command line iscommand 'global args' 'task args'
.
IfsuppressTaskName
isfalse
, it iscommand 'global args' taskName 'task args'
.
也就是说,当把suppressTaskName = false
的时候,taskName
属性也被当做command line的参数传入了。因此,当选择不同的task
的时候,相当于在命令行(或终端)中执行了相应的py2 file.py
或python file.py
。效果相当棒。
F1
输入run task
,选择py2
。
扯淡
在VS Code中有这种配置Python多版本运行环境的需求应该不多吧……
一般进行项目开发,要么Python2要么Python3,很少没事在Python2、Python3之间切换。我是偶然间瞎折腾才有了这么个需求……(⊙ˍ⊙)
版权声明:[署名-非商业性使用-相同方式共享 3.0 中国大陆 (CC BY-NC-SA 3.0 CN)][3]
发表日期:2016年12月29日
[1]: http://xiaoyc.com/multi-version-solution-of-python-on-windows/
[2]: https://xin053.github.io/2016/06/11/VS%20Code%E6%90%AD%E5%BB%BAPython%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83/
[3]: https://creativecommons.org/licenses/by-nc-sa/3.0/cn/