1.VScode簡(jiǎn)介
VSstudio 和 VScode都是微軟旗下的,前者是一個(gè)集成開(kāi)發(fā)環(huán)境(integrated development environment,IDE),包括文本編輯器,解釋器,調(diào)試器等;后者是一個(gè)簡(jiǎn)單的代碼文本編輯器,類似于notepad。python是門(mén)解釋性語(yǔ)言,所以要進(jìn)行python編程,需要一個(gè)解釋器,下面列出了常用的python解釋器(參考廖雪峰的網(wǎng)站)
Python解釋器
- CPython解釋器: 官方自帶的解釋器
- IPython解釋器:可以理解為kernel還是CPython,但是shell的交互式體驗(yàn)更好。Ipython還能提供基于網(wǎng)頁(yè)的notebook功能,也就是后來(lái)改名的jupyter notebook
- PyPy解釋器:對(duì)Python代碼進(jìn)行編譯而不是解釋,所以執(zhí)行速度會(huì)更快
- Jython解釋器:運(yùn)行在Java平臺(tái)上的Python解釋器
- IronPython解釋器:運(yùn)行在微軟.Net平臺(tái)上的Python解釋器
python常用的IDE
- Jupyter notebook: 所用的解釋器就是Ipython
- Spyder: 和Rstudio使用體驗(yàn)相似
- Pycharm: 最受歡迎,但是個(gè)人體驗(yàn)不佳
- VS studio:兼容多種語(yǔ)言,就是太大了占內(nèi)存
- Atom:不知道沒(méi)用過(guò)
- Redeo:不知道沒(méi)用過(guò)
2. 配置前的準(zhǔn)備工作
操作系統(tǒng):Windows7-64位
IDE: VScode+python插件+Anaconda3(自帶CPython解釋器)
安裝VScode和Anaconda3都比較簡(jiǎn)單,唯一要注意的是在安裝Anaconda3時(shí)選擇“添加到環(huán)境變量”,勾選后會(huì)出現(xiàn)警告程序可能會(huì)出錯(cuò)之類,是怕安裝多個(gè)版本時(shí)引起程序沖突?vscode默認(rèn)使用系統(tǒng)路徑中找到的第一個(gè)python解釋器,如果不添加到環(huán)境變量,vscode能不能自動(dòng)找到解釋器呢?沒(méi)有試過(guò),愿意折騰的可以試一下。。
添加到環(huán)境變量后,可以直接在cmd調(diào)用python,按照知乎-浪晉的教程,我安裝了flake8和yapf。flake8是一個(gè)代碼分析工具,yapf是代碼格式化工具。
3.配置VScode
3.1 安裝python插件

3.2 創(chuàng)建工作區(qū)
工作區(qū)(workspace)即項(xiàng)目(project)存放的地方,創(chuàng)建工作區(qū)即創(chuàng)建了項(xiàng)目所需的一個(gè)工作環(huán)境。
創(chuàng)建工作區(qū)時(shí)幾個(gè)選項(xiàng)的區(qū)別:“打開(kāi)文件夾”僅僅只是打開(kāi)了一個(gè)文件夾,可以在該文件夾下創(chuàng)建工作區(qū);“打開(kāi)工作區(qū)”即選擇打開(kāi)一個(gè)文件夾作為工作區(qū);“將文件夾添加到該工作區(qū)”是指新建一個(gè)未命名的工作區(qū),可以添加多個(gè)文件夾到該工作區(qū)下,建立不同的文件夾可以建立不同的項(xiàng)目。創(chuàng)建工作區(qū)后,工作區(qū)目錄下會(huì)出現(xiàn).vscode配置文件,你想要的特殊配置可以通過(guò)修改 .vscode/settings.json 實(shí)現(xiàn)。
3.3 配置flake8和yapf并關(guān)閉pylint工具
配置文件的修改有三個(gè)級(jí)別,第一級(jí)別是“用戶設(shè)置”,在settings.json里修改的配置會(huì)應(yīng)用到該用戶的所有工作區(qū);第二級(jí)別是“工作區(qū)設(shè)置”,worksapce.json里所做修改會(huì)應(yīng)用到當(dāng)前打開(kāi)的工作區(qū);第三級(jí)別是“文件夾設(shè)置”,在文件夾的.vscode里所做修改只應(yīng)用于當(dāng)前文件夾。

配置代碼來(lái)源于浪晉的文章。
3.4 選擇解釋器
從官網(wǎng)下載的python程序中包含的默認(rèn)解釋器為CPython。Command Palette (Ctrl+Shift+P)——typing the Python: Select Interpreter,或者直接點(diǎn)擊左下方狀態(tài)欄切換解釋器。
3.5 創(chuàng)建虛擬環(huán)境
虛擬環(huán)境可以避免版本混亂引起的沖突,一般建議為不同的項(xiàng)目創(chuàng)建不同的虛擬環(huán)境,每一個(gè)虛擬環(huán)境下都包含Python解釋器、標(biāo)準(zhǔn)庫(kù)和各種支持文件。
VScode官方給出的創(chuàng)建虛擬環(huán)境辦法是利用venv命令:
#在終端輸入
C:\Users\asus\Desktop\project_wm>python -m venv myenv #創(chuàng)建虛擬環(huán)境
myenv\Scripts\activate.bat #激活虛擬環(huán)境

激活環(huán)境后,點(diǎn)擊左下角切換python解釋器:

myenv\Scripts\deactivate.bat #退出虛擬環(huán)境
創(chuàng)建虛擬環(huán)境時(shí)可能會(huì)出現(xiàn)“E:\Anaconda3\Anaconda3_2019\Lib\venv\scripts\nt”文件夾下找不到python和pythonw的錯(cuò)誤,我的解決辦法是把這兩個(gè)可執(zhí)行文件拷貝到該目錄下,報(bào)錯(cuò)解決。
創(chuàng)建的虛擬環(huán)境就在項(xiàng)目目錄下,便于管理。
在查找解決辦法的過(guò)程中,我了解到一款管理虛擬環(huán)境的新工具pipenv,pipenv可以看做是pip和virtualenv的結(jié)合,在管理包的同時(shí)創(chuàng)建虛擬環(huán)境。在管理包方面,它可以直接顯示包的主次關(guān)系,即哪些是需要安裝的包,而哪些是依賴包。在創(chuàng)建虛擬環(huán)境方面,它可以在安裝包的同時(shí)為項(xiàng)目創(chuàng)建虛擬環(huán)境。
#打開(kāi)終端,在用戶目錄下安裝pipenv
C:\Users\asus>python
>>>pip install pipenv
>>>pipenv --version
pipenv, version 2018.11.26
>>>pipenv --help #查看pipenv的選項(xiàng),命令及參數(shù)
但是用pipenv創(chuàng)建虛擬環(huán)境時(shí)遇到了報(bào)錯(cuò):

我之前安裝又卸載了miniconda,不知道是不是之前在vscode里修改過(guò)相應(yīng)的配置文件,pipenv首先找到的python版本竟然是已經(jīng)不存在的miniconda里的…
如果指定python版本是可以成功創(chuàng)建虛擬環(huán)境的,而且虛擬環(huán)境默認(rèn)存放在用戶目錄下,這也挺煩的,怎樣自定義虛擬環(huán)境路徑呢?對(duì)于修改軟件的配置文件,如果是linux似乎還好辦些,Windows系統(tǒng)下反而一頭霧水,太菜了。
C:\Users\asus\Desktop\project02>pipenv --python E:/Anaconda3/Anaconda3_2019/python.exe
Creating a virtualenv for this project…
Pipfile: C:\Users\asus\Pipfile
Using E:/Anaconda3/Anaconda3_2019/python.exe (3.7.3) to create virtualenv…
[ ===] Creating virtual environment...Using base prefix 'E:\\Anaconda3\\Anaconda3_2019'
No LICENSE.txt / LICENSE found in source
New python executable in C:\Users\asus\.virtualenvs\asus-5Ov9y2FI\Scripts\python.exe
Installing setuptools, pip, wheel...
done.
Running virtualenv with interpreter E:/Anaconda3/Anaconda3_2019/python.exe
Successfully created virtual environment!
Virtualenv location: C:\Users\asus\.virtualenvs\asus-5Ov9y2FI
Creating a Pipfile for this project…
conda同樣可以管理包和環(huán)境,conda和pipenv二者有什么具體區(qū)別我還不清楚。而且pipenv創(chuàng)建環(huán)境的過(guò)程緩慢,conda比它快多了。
conda create -n myenv python=3 #創(chuàng)建名為myenv的虛擬環(huán)境
source activate myenv
source deactivate myenv
3.6 選擇調(diào)試器
調(diào)試器配置的類型有好幾張,默認(rèn)選擇第一種:Python文件。這是使用當(dāng)前選定的Python解釋器運(yùn)行編輯器中顯示的當(dāng)前文件的配置。這些配置類型區(qū)別見(jiàn):Debugging configurations

參考來(lái)源:
[1] Python解釋器——廖雪峰
[2] 用VScode配置Python開(kāi)發(fā)環(huán)境——浪晉
[3] Pipenv
[4] pipenv使用指南
[5] VScode工作區(qū)配置