VS Code配置Python环境

省流:在VS Code工作区里直接开整,launch.json有需要再配置。

上回说到

先安装Python,如果还没安装好,具体可以参考这篇文章。本文还是以Python 3.12.2为例。

前排提醒

如果有数据分析、人工智能等特定领域的需求,建议安装一年以前的版本,因为最新版本可能有些包不支持。

Windows

  1. 打开VS Code,按Ctrl+Shift+X键,搜索“python”插件并点击“Install”安装。
  2. 按Ctrl+K Ctrl+O“打开文件夹”(Open Folder),选择或新建一个文件夹,作为写Python程序的工作区(workspace)。这里以C:\Users\vboxuser\Documents\py为例。
  3. 在工作区或其子文件夹新建一个文件hello.py,随便写点东西,比如
    1
    print("hello, world")
    然后按Ctrl+S保存。
  4. 按F5(或Fn+F5,下同)调试程序。页面上方会让用户选择调试配置(Select a debug configuration),通常选择默认的第一项“Python文件”(Python File)就行。
  5. 然后看到下方终端(Terminal)输出hello, world,则环境配置成功。

Linux

  1. 打开VS Code,按Ctrl+Shift+X键,搜索“python”插件并点击“Install”安装。
  2. 按Ctrl+K Ctrl+O“打开文件夹”(Open Folder),选择或新建一个文件夹,作为写Python程序的工作区(workspace)。这里以~/Documents/py为例。
  3. 在工作区或其子文件夹新建一个文件hello.py,随便写点东西,比如
    1
    print("hello, world")
    然后按Ctrl+S保存。
  4. 按F5调试程序。页面上方会让用户选择调试器(Select debugger),这里只有一项“Python Debugger”。
  5. 然后选择调试配置(Select a debug configuration),通常选择默认的第一项“Python文件”(Python File)就行。
  6. 可以看到下方终端(Terminal)正常输出了hello, world,但右下角Python解释器显示为/usr/local/bin/python3.12,而不是在这里提到的venv里面。点击底部栏上显示“3.12.2 64-bit”的这个地方。
  7. 上方会出现选择解释器(Select Interpreter)的菜单栏,选择“Create Virtual Environment”在当前工作区创建虚拟环境。
  8. 选择虚拟环境的类型为Venv。
  9. 选择用哪个Python解释器创建虚拟环境。这里选第一项“Python 3.12.2 64-bit”。
  10. 等到venv虚拟环境创建完毕后,按F5再次调试,看到下方终端正常输出hello, world,并且右下角Python解释器显示3.12.2 ('.venv': venv),则环境配置成功。

macOS

  1. 打开VS Code,按Cmd+Shift+X键,搜索“python”插件并点击“Install”安装。
  2. 按Cmd+O,选择或新建一个文件夹,作为写Python程序的工作区(workspace)。这里以~/Documents/py为例。
  3. 在工作区或其子文件夹新建一个文件hello.py,随便写点东西,比如
    1
    print("hello, world")
    然后按Cmd+S保存。可以看到右下角Python解释器显示为“3.8.2 64-bit”,而不是刚才安装的3.12.2。点击这个地方。
  4. 上方会出现选择解释器(Select Interpreter)的菜单栏,选择“Python 3.12.2 64-bit”。
  5. 按F5调试程序。页面上方会让用户选择调试器(Select debugger),这里只有一项“Python Debugger”。
  6. 选择调试配置(Select a debug configuration),通常选择默认的第一项“Python文件”(Python File)就行。
  7. 然后看到下方终端(Terminal)输出hello, world,则环境配置成功。

小提示

  1. 可以在工作区新建一个子文件夹.vscode,在里面新建一个文件launch.json。如果安装了名为Python Debugger的插件,就写入如下内容并保存;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    {
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "configurations": [
    {
    "name": "Python Debugger: Current File",
    "type": "debugpy",
    "request": "launch",
    "program": "${file}",
    "console": "integratedTerminal",
    },
    ],
    }
    如果没安装名为Python Debugger的插件,就写入如下内容并保存。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    {
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
    {
    "name": "Python: Current File",
    "type": "python",
    "request": "launch",
    "program": "${file}",
    "console": "integratedTerminal",
    },
    ],
    }
  2. 如果想在外部控制台(窗口)显示输出,可以把上面launch.json第12行的"console": "intergratedTerminal"改为"console": "externalTerminal"。如果控制台闪退,可以在最后加input()等语句,不让程序直接退出。
  3. 按照这样配置,工作区内Python文件的“当前工作目录”(current working directory, cwd)为${workspaceFolder}。例如工作区目录为~/py,在~/py/foo/bar.py里有如下代码
    1
    text = open('./baz.txt', 'r')
    则在bar.py运行或调试时,这条语句会打开~/py/baz.txt。如果想在这种情况下让程序打开~/py/foo/baz.txt,就在launch.json最内层大括号里加一行(注意缩进)
    1
    "cwd": "${fileDirname}",
  4. 有关路径和文件名最好没有非ASCII字符(比如中文)和空格。

词汇表

英文 中文
configuration 配置
create 创建
debug 调试
directory 目录
extension 插件
file 文件
folder 文件夹
install 安装
interpreter 解释器
launch 启动
terminal 终端
workspace 工作区