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
可以更換成個人習慣的名稱,命令列中輸入相應名稱即可1。
安裝第三方庫的話,以下命令安裝到預設Python開發環境:
pip install somelib
安裝到Python2開發環境:
py2 -m pip install somelib
VS Code配置Python開發環境
使用VS Code開啟一個資料夾,這個資料夾在VS Code中便是一個工作空間
.vscode
資料夾,裡面是一些配置檔案。
在.vscode
中有一個tasks.json
檔案,這個檔案就是進行配置執行環境的,最簡單和常用的配置為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之間切換。我是偶然間瞎折騰才有了這麼個需求……(⊙ˍ⊙)