欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在vscode中运行Python

程序员文章站 2022-05-24 23:50:40
...

电脑空间越来越少,*减少Jetbrains的IDE的个数,把一些IDE干的活交给vscode。

前置工作

  • Python解释器安装

    Python官网下载系统对应的安装包

    或者使用系统对应的包管理器(例如choco[Windows], apt[Ubuntu], brew[MacOS]等等)。

  • 从微软的vscode商城下载Python插件

配置vscode的pythonPath

pythonPath是vscode的python运行环境,默认值是python,相当于在命令行下的默认python环境。

但问题是MacOS和部分Linux发行版自带Python2,这些系统上的默认python环境被设置为python2,你自己安装的python3被指向shell命令python3。pip和pip3则分别对应了python2和python3。

所以需要打开settings.json,在大括号里申明使用python3作为默认python环境。

"python.pythonPath": "python3",

你也可以使用更加详细的路径,比如:

"python.pythonPath": "/usr/local/bin/python3", //linux or mac

具体的python解释器路径可以在系统命令行中使用which python或者which python3查看。

有时候我们可能会为项目创建独立的虚拟环境,参考virtualenv,这个时候也需要把这里的路径改成虚拟环境的路径。

代码补全

Visual Studio IntelliCode插件可用于Python, TypeScript/JavaScript, Java的代码智能补全。

装完之后会问你是否要开启Microsoft Python Language Server,请选择enable。

代码规范

必须要有一个规则来约束代码无规范而导致的风格不统一问题,养成代码洁癖的好习惯。

使用pylint

pip3(pip) install pylint

pylint有一套自己的命令行工具和python库,具体请到pylint官网学习。

没特殊需求使用vscode提供的默认配置就行。

一个地方需要注意,确保settings.json中的linting.enabled开启。一般默认是true,但如果发现自己在执行了上面步骤后没有代码规范检查,可以去settings.json中添加:

"python.linting.enabled": true,

代码段生成

这是一个非常棒的功能,支持很多代码块自动生成。

try/except/else/finallyclassasync/...,被集成到了vscode的自动补全中,可以尝试一下。

调试

调试非常简单,你可以选择不进行任何配置,但是这样你需要每次选择调试的模式。

在侧边栏找到运行调试图标(小虫子),然后会看到这样一个模块:
在vscode中运行Python
直接点Run and Debug会出现:
在vscode中运行Python
一般选Python File就好了,其他的模式请参考python debuggingDjangoFlask

除此之外看第一张图下面还有一个选项 create a launch.json file,只要配置好launch,就不需要每次调试都选择调试模式。

点击创建launch,这是系统默认生成的配置:

"version": "0.2.0",
"configurations": [
    {
        "name": "Python: Current File",
        "type": "python",
        "request": "launch",
        "program": "${file}",
        "console": "integratedTerminal"
    }
]

这里对一些奇怪的变量值做一下说明。

  • workspaceFolder - vscode中打开的文件夹的路径
  • workspaceRootFolderName - vscode中打开的文件夹的名字
  • file- 正在打开编辑的文件的绝对路径
  • fileBasename - 正在打开编辑的文件的名字
  • fileBasenameNoExtension - 正在打开编辑的文件的名字(无扩展名)

这些是常用的,还有一些不常用的,less is more,先了解这么点就够了,网上其他教程一般用不到。

顺带提一些这个${}语法,不熟悉JavaScript的可能比较迷惑,这个会计算出变量的值,然后填入字符串。json是JavaScript object notation,本质上就是一个格式比较清晰的字符串。

Jupyter支持

vscode自带jupyter notebooks的扩展.ipynb文件编辑器,而且比jupyter要强大许多,你有足够的理由不是用jupyter编辑ipynb。

  • 智能补全比原生jupyter好。

  • 支持.ipynb转换成.py文件。

  • 查看内核中的变量。

    jupyter虽然分块执行方便,但运行过的代码产生的变量还会保存在内核中,这会造成一些意外引用。

相关标签: Awesome Toolkit