如何在 VS Code 中调试带参数和环境变量的 Python 程序

安装 Python 插件

点击左侧最下方的 "扩展"图标(四个方块组成的图标 🧩),或者按快捷键 Ctrl+Shift+X (Windows/Linux)或 Cmd+Shift+X(Mac)。在搜索框输入 Python。找到由 Microsoft 发布的 Python 插件(图标是蛇🐍),点击 Install。

安装完成后,左边会出现一些新图标(比如资源管理器、搜索、源代码管理等)。如果左边还是空白,点顶部菜单:View → Appearance → Show Activity Bar(确保侧边栏显示)。

打开项目文件夹

在 VS Code 中,点击顶部菜单:File → Open Folder(或 Ctrl+K Ctrl+O )。

选择你的项目根目录,打开后,左边就会显示文件树(资源管理器)✅

选择正确的 Python 解释器

因为你用了 conda 虚拟环境 envName,VS Code 需要知道用哪个 Python。

Ctrl+Shift+P (命令面板),输入 Python: Select Interpreter,回车。

在弹出的列表中,找到你的 conda 环境路径,例如:

~/miniconda3/envs/envName/bin/python

/opt/conda/envs/envName/bin/python

选中后,左下角状态栏会显示当前 Python 环境名称(如 envName)。

设置断点(Breakpoint)

在左侧文件树中,点击打开 train.py

找到你想调试的代码行(比如 main() 函数开头,或报错附近的行)。

点击行号左侧的空白处,会出现一个红点🔴 ------ 这就是断点!

创建调试配置(launch.json)

点击左侧 "运行和调试"图标(虫子🐛图标)。如果没看到,按 Ctrl+Shift+D

点击 "create a launch.json file" → 选择 Python File。

VS Code 会自动生成 .vscode/launch.json 文件,内容类似:

json 复制代码
{
    // 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 Debugger: Current File",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

如果需要添加参数和环境变量,修改 launch.json,加入你的参数

将内容替换为以下配置(注意 args 字段):

json 复制代码
{
    // 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 Debugger: Current File",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "args": [
                "benchmark=xxx",
                "run_name=xxx",
            ],
            "console": "integratedTerminal",
            // "envFile": "${workspaceFolder}/.env",
            "env": {
                "xxx_API_KEY": "xxx"
            },
            "justMyCode": true
        }
    ]
}

开始调试

确保你已经在 train.py 中设置了断点(红点🔴)。

点击左侧 运行和调试 面板顶部的绿色三角形 ▶️(或按 F5)。

VS Code 会:

启动你的虚拟环境;运行 train.py 并传入参数;在断点处暂停!

暂停后,你可以:

查看变量值(鼠标悬停或在"变量"面板);

按 F10 单步跳过,F11 单步进入;

在"终端"中看到输出。

相关推荐
jerryinwuhan9 分钟前
《Python数据预处理》第四章
开发语言·python
长江&后浪11 分钟前
防火墙的描述
开发语言·网络·php
观无32 分钟前
若依EasyExcel实现单元格合并
开发语言·前端·javascript
雨晨源码(同名B站)34 分钟前
基于Python的网易云音乐评论数据情感化分析系统 音乐爬虫信息可视化 |SnowNLP评论情感分析
开发语言·hadoop·爬虫·python·信息可视化·毕业设计
阿童木写作36 分钟前
跨境电商图片翻译工具推荐:跨马翻译批量处理视频字幕与抠图
python·音视频
我不是疯子是傻子1 小时前
串口通信数据帧粘包拆包再进化:基于 Qt 的滑动窗口与 CRC 校验实战
开发语言·qt
程序员老陆1 小时前
Qt中实现窗口真全屏(覆盖Windows任务栏)
开发语言·windows·qt
霸道流氓气质1 小时前
Java中信号量(Semaphore):从本地到分布式
java·开发语言·分布式
怪奇云呼军1 小时前
G.711、Opus 和重采样会拖慢识别吗?闪电智能VoiceAgent 的音频入口怎么选
java·人工智能·python·算法·云计算·音视频
ZC跨境爬虫2 小时前
LeetCode 27. 移除元素(双指针详解 + Java Python 多解法对比)
java·python·leetcode