使用vscode打造python开发环境

发布于 2020-06-16  455 次阅读


 1. 各位看客,因为本人写的文章,有时候会修改,以便变得更好,更优秀,所以当你看到文章中前后有一些不对应的地方,那说明我正在大幅度修改。我一般会在一天内完成本次的修改。

 2. 新增一个vscode远程开发,使用远程服务器上的python开发环境。在第19条那里。

 

1.安装python解释器,配置好path变量。

下载网址:https://www.python.org/downloads/release/python-374/

注意区分64位还是32位的。

安装python的时候,建议将python添加到path环境变量的复选框勾上,并且使用自定义安装,因为可以自定义安装目录,我是安装在C:\Python37中的

使用vscode打造python开发环境  python vscode 第1张

 使用vscode打造python开发环境  python vscode 第2张

2.安装virtualenv

win+R输入cmd后点确定,然后执行:

pip install virtualenv

 

3.下载并安装好vscode编辑器(安装时,将复选框全部勾上)

下载地址:https://code.visualstudio.com/

4.在vscode中安装python插件

按下快捷键Ctrl+Shift+X,进入插件管理页面
在搜索框中搜索python关键字
点击下载量最高的那个进行安装,一般都是第一个。

使用vscode打造python开发环境  python vscode 第3张

vscode安装了上面这个插件后,能干什么?

第一:这个插件不是python语言的解释器,vscode想要运行python代码,必须另外指定在windows上安装的python解释器路径才可以。

第二:这个插件被安装上后,vscode就具有了调用python解释器的功能。其实就是在setting.json和launch.json这两个配置文件中,可以添加python相关的配置了,比如通过python.pythonPath的值找到python解释器的位置等等。

第三:可以通过按下ctrl键,点击函数,打开函数的所在文件和定义位置。

第四:具有代码提示功能。

(这样解释是不是有点傻?)

使用vscode打造python开发环境  python vscode 第4张

5.准备一个项目并用vscode打开

第一步:创建一个总项目目录

D:\CodeProjects

第二步:创建一个python总项目目录

D:\CodeProjects\PythonProjects

第三步:创建一个测试项目目录

D:\CodeProjects\PythonProjects\opms

第四步:在指定项目中创建python虚拟环境

win+R输入cmd后点确定,依次执行下面三条命令:(-p后面的参数,可以换成其它python解释器的路径)

D:
cd D:\CodeProjects\PythonProjects\opms
virtualenv .venv -p "C:\Python37\python.exe"

 

第五步:右击opms项目目录,使用vscode打开(一般情况下,一个vscode界面只能打开一个项目目录)

6.为项目运行时指定特定的python解释器

第一步:为新打开的项目生成setting.json配置文件

按下快捷键ctrl+shift+p,输入interpreter,单击筛选出来的结果“Python: Select Interpreter",就会跳出windows系统上已经安装的所有python解释器,我们这里随便选择一个即可,因为我们之后会自定义setting.json配置文件中的值,这一步只是为了生成setting.json这个配置文件。

使用vscode打造python开发环境  python vscode 第5张

补充:你如果和我一样,在打开项目之前已经在项目中创建了python虚拟环境,那么在选择interpreter时,vscode也会将本项目目录下的虚拟环境中的python解释器也列出来,此时,你可以直接选择这个解释器即可。

使用vscode打造python开发环境  python vscode 第6张

第二步:修改setting.json配置文件,指定python.pythonPath的值为opms项目目录下python虚拟环境中的python解释器路径

使用vscode打造python开发环境  python vscode 第7张

7.为项目运行时指定入口文件和参数

第一步:为新打开的项目生成launch.json配置文件

点击Debug,点击Add Configuration,点击Python,然后根据你的项目,在Python File、Django、Flask中选择一个,我这里只是为了说明,选择Python File,你们请根据自己的项目类型的进行选择。

使用vscode打造python开发环境  python vscode 第8张

第二步:解释launch.json配置文件中configurations列表的作用

program这个键,用来指定项目运行时的入口文件的,其中${file}表示当前文件,${workspaceFolder}表示项目根目录,对于django项目来说,入口文件应该是项目根目录下的manage.py文件,所以可以配置为"program": "${workspaceFolder}\\manage.py"。

args这个键,用来指定项目运行时,跟在入口文件后面的参数,对于django项目来说,运行参数应该是:runserver 0.0.0.0:8080 --noreload --nothreading  ,所以可以配置为:

"args":["runserver","0.0.0.0:8080","--noreload","--nothreading"] 。

name这个键,用来命名配置名称的,因为在configurations列表中可以定义多个配置,不同的配置命名要相互区分。

typerequest这两个键是必须项,在不同的配置中都要存在的,而它们的值也是固定的。"type": "python" , "request": "launch"。

8.测试一下

在项目目录中,创建一个test.py文件,写入代码后,点击文件上方的绿色三角形按钮运行当前文件。

之所以能够点击按钮就可以运行当前文件,是因为我使用了Python File这个configurations运行配置,参数"program": "${file}",表示当前文件。

使用vscode打造python开发环境  python vscode 第9张

有时候vscode会报错如下:

无法加载文件 D:\CodeProjects\PythonProjects\opms\.venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本。

使用vscode打造python开发环境  python vscode 第10张

解决办法:

第一步:以管理员身份运行powershell
第二步:执行:get-ExecutionPolicy,回复Restricted,表示状态是禁止的。
第三步:执行:set-ExecutionPolicy RemoteSig
ned
第四步:选择Y,回车。

9.关于python虚拟环境的解释

python虚拟环境是一个非常好用的东西,以前我以为只有activate激活这个虚拟环境,才可以使用这个虚拟环境中安装的各个模块。现在,我知道之前的认知是局限的。

其实,你只需要使用虚拟环境中的python.exe解释器的绝对路径就可以使用这个虚拟环境中安装的python模块了,根本不需要激活。不信的话,你试试:

比如我创建了一个venv虚拟环境:D:\CodeProjects\PythonProjects\opms\.venv\

然后,我运行下面的命令得到的模块列表和全局解释器中的模块列表是不一样的(此时我并没有激活这个虚拟环境):

D:\CodeProjects\PythonProjects\opms\.venv\Scripts\pip   list

当使用activate激活一个虚拟环境时,我们就从cmd或者terminal当前窗口中进入到了一个子窗口中了,在这个子窗口中,PATH这个环境变量被临时更改了,当前这个虚拟环境中的Scripts路径就被加入到PATH环境变量中了,那么我们在这个子窗口中运行的python命令、pip命令等也就通过PATH这个环境变量自动查找,然后指向了虚拟环境Scripts目录中的解释器了,这也就解释了为何激活了这个虚拟环境,在这个窗口中切换到任何一个目录中,执行python或者pip命令都能使用和查看这个虚拟环境的所有模块的原因。

10.配置django项目的运行参数

一般我们运行django项目的命令是:   python manage.py runserver 0.0.0.0:8080

这个命令分为两部分,第一部分是python解释器,我们在settings.json设置,剩下的参数manage.py runserver 0.0.0.0:8080我们需要在launch.json中设置。

我粘贴出我在launch.json文件中设置的内容:

使用vscode打造python开发环境  python vscode 第11张
    "configurations": [
        {            "name": "Python: Current File",            "type": "python",            "request": "launch",            "program": "${file}",            "console": "integratedTerminal"
        },
        {            "name":"Python: Django",            "type":"python",            "request":"launch",            "program":"${workspaceFolder}\\manage.py",            "console":"integratedTerminal",            "args":[                "runserver",                "0.0.0.0:8080",                "--noreload",                "--nothreading"
            ],            "django":true
        }
    ]
使用vscode打造python开发环境  python vscode 第11张

此时如果要运行django项目的话,方法如下:

点击左边栏目中的小乌龟,

点击齿轮图标旁边的下拉框,选择Python: Django,

然后点击左边绿色三角形的运行按钮即可。

 使用vscode打造python开发环境  python vscode 第13张

11.配置vscode的文件图标和主题美化

按下快捷键Ctrl+Shift+X,进入插件管理页面
在搜索框中搜索这两个插件并安装:Material Icon Theme 和 Son of Obsidian Theme
然后点击左下角的齿轮图标,选择并点击File Icon Theme,在出现的展示中,选择并点击Material Icon Theme即可。

使用vscode打造python开发环境  python vscode 第14张

 此时,我们就会发现我们的python文件的图标已经变成了经典的头尾相接的两条蟒蛇了。

使用vscode打造python开发环境  python vscode 第15张

 12.安装运行代码片段插件Code Runner(我已弃用它,原因在下面)

Code Runner也称为万能语言运行环境,它可以让你不用搭建各种语言的开发环境,直接通过此插件就可以直接运行对应语言的代码。我们这里使用这个插件,目的是为了运行代码片段,方面调试。

按下快捷键Ctrl+Shift+X,进入插件管理页面,在搜索框中搜索Code Runner,点击安装即可。

测试一下:

我们先选中一段代码,然后鼠标右击,选择Run Code,如下:

使用vscode打造python开发环境  python vscode 第16张

 

 使用vscode打造python开发环境  python vscode 第17张

 我们卸载掉这个插件吧。

经过测试,这个插件是使用系统PATH环境变量中配置的python解释器去运行代码片段的,并不能使用我们在settings.json文件中指定的python解释器,如下:

使用vscode打造python开发环境  python vscode 第18张

 使用vscode打造python开发环境  python vscode 第19张

所以卸载掉它吧,我们uninstall这个插件后,有时候还需要点击这个插件旁边的Reload Required进行重载才能彻底清除这个插件,如下:

使用vscode打造python开发环境  python vscode 第20张

 当然,我们也找到了方法去解决这个解释器的问题,但又何必使用这个Code Runner呢?解决方法如下:

点击File,点击Preferences,点击Settings,点击Extensions,点击Run Code configuration,点击Executor Map下方的Edit in settings.json,在打开的settings.json文件中,添加:

"code-runner.executorMap",不要复制它,要自己敲击,根据提示回车后,会自动生成剩下的内容,如下:
使用vscode打造python开发环境  python vscode 第21张

然后我们需要更改其中的python键值,改为"python": "C:\\Python27\\python.exe",大家参照这个,可以自行更改为其它的python解释器路径,比如虚拟环境中python解释器。

我们再运行test.py看下python解释器版本:

使用vscode打造python开发环境  python vscode 第22张

 

 我不推荐的原因是,如果反复的切换运行不同的项目,那么就需要反复的更改settings.json文件,比较麻烦,而我们一开始安装的python插件,只需要一次配置就可以了。

 

 13.启用自动格式化代码工具yapf

第一步:在项目指定的python解释器中安装yapf模块

cd D:\CodeProjects\PythonProjects\opms\.venv\Scripts
activate
pip install yapf
deactivate.bat

第二步:在项目中的settings.json配置文件中,添加:"python.formatting.provider": "yapf",如下:

使用vscode打造python开发环境  python vscode 第23张

第三步:按Alt+Shift+F即可自动格式化代码

 测试一下:

未经代码格式化之前的代码如下:

使用vscode打造python开发环境  python vscode 第24张

 按Alt+Shift+F后,代码如下:

使用vscode打造python开发环境  python vscode 第25张

14.启用pylint进行代码编写时格式规范检查

第一步:在项目指定的python解释器中安装pylint模块

cd D:\CodeProjects\PythonProjects\opms\.venv\Scripts
activate
pip install pylint
deactivate.bat

第二步:启用pylint功能,在settings.json文件中添加:"python.linting.pylintEnabled": true,如下:

使用vscode打造python开发环境  python vscode 第26张

第三步:关于pylint检查项的一些定制

"python.linting.pylintArgs": ["--disable=C,broad-except,unused-variable",],
使用vscode打造python开发环境  python vscode 第27张