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文件夹,里面是一些配置文件。

《VS Code配置多Python版本运行环境》 VS code setting

.vscode中有一个tasks.json文件,这个文件就是进行配置运行环境的,最简单和常用的配置为(参考 xin053 的[一篇文章][2]):

{
    "version": "0.1.0",
    "command": "python",
    "isShellCommand": true,
    "args": ["${file}"],
    "showOutput": "always"
}

其中commandpython可执行文件的路径,在添加的系统环境变量中之后可以直接写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 is true, the command line is command 'global args' 'task args'.
If suppressTaskName is false, it is command 'global args' taskName 'task args'.

也就是说,当把suppressTaskName = false的时候,taskName属性也被当做command line的参数传入了。因此,当选择不同的task的时候,相当于在命令行(或终端)中执行了相应的py2 file.pypython file.py。效果相当棒。
F1输入run task,选择py2

《VS Code配置多Python版本运行环境》 Run task
《VS Code配置多Python版本运行环境》 Choose task

扯淡

在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/

    原文作者:MaxFlew
    原文地址: https://www.jianshu.com/p/a45b93e22314
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞