news 2026/8/22 18:00:43

python如何run和debug程序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python如何run和debug程序

目录

前言:

一、文件生成

二、文件配置

1.设置运行参数和解释器

2.设置工作空间路径

(1)第一种

(2)第二种重构工作空间路径


前言:

有的时候我们有这样的需求,需要再vscode里面调试python代码,但是我们还需要为不同的文件设置不同的调试参数,如设置python解释器,设置输入参数等,下面说如何再vscode进行上述的调试和运行。

对于运行来说,虽然可以使用命令行设置解释器和输入参数,但是呢,当输入参数很大的时候,每次输入也是很麻烦,直接写道json文件里面是一劳永逸了。

一、文件生成

之后就会自动在当前工作空间下创建一个.vscode/launch.json的文件

二、文件配置

1.设置运行参数和解释器

{ "version": "0.2.0", "configurations": [ { "name": "MRTA_DRL: t1.py (args)", "type": "debugpy", "request": "launch", // 1) 要跑的 python 文件:建议写死入口脚本 "program": "${workspaceFolder}/t1.py", // 2) 工作路径(相当于你在终端 cd 到哪里再执行) // "cwd": "${workspaceFolder}", // 3) 运行参数:等价于 python train.py --config xxx ... "args": ["--config", "simple_het", "--seed", "0"], // 4) 指定解释器(两种方式二选一) // 方式A:直接写解释器绝对路径(最稳) "python": "/home/yzh/miniconda3/envs/MRTA_DRL/bin/python", // 方式B:不写 python,改用 VSCode 里选的解释器(推荐日常) // -> Ctrl+Shift+P 选择 “Python: Select Interpreter” // -> 然后删掉本行 "python": "...", "console": "integratedTerminal", } ] }

t1.py的代码如下。可以看出--config这个参数是必须的,但是我可以直接运行这个程序。快捷键就是ctrl+F5。

# args_demo.py import argparse def parse_args(): parser = argparse.ArgumentParser(description="MRTA Training Arguments") parser.add_argument( "--config", type=str, required=True, help="config name, e.g. simple_het" ) parser.add_argument( "--seed", type=int, default=0, help="random seed" ) return parser.parse_args() if __name__ == "__main__": args = parse_args() print("===== Parsed Arguments =====") print(f"config = {args.config}") print(f"seed = {args.seed}")

那么我直接按住快捷键,他是怎么知道我运行的是那一个文件呢?是因为下图箭头表明的位置已经指明了。

运行结果如下

同理,我可以按住F5,直接调试这个程序

2.设置工作空间路径

那么如何调试工作空间内部文件夹里面的python文件呢?一共有两种办法,第一种指名绝对路径,第二种重构工作空间路径。

文件树如下

(1)第一种

这里我们指名了

"program": "${workspaceFolder}/test_one/t2.py",

所以可以直接找到这个文件。

{ "version": "0.2.0", "configurations": [ { "name": "MRTA_DRL: t1.py (args)", "type": "debugpy", "request": "launch", // 1) 要跑的 python 文件:建议写死入口脚本 "program": "${workspaceFolder}/t1.py", // 2) 工作路径(相当于你在终端 cd 到哪里再执行) // "cwd": "${workspaceFolder}", // 3) 运行参数:等价于 python train.py --config xxx ... "args": ["--config", "simple_het", "--seed", "0"], // 4) 指定解释器(两种方式二选一) // 方式A:直接写解释器绝对路径(最稳) "python": "/home/yzh/miniconda3/envs/MRTA_DRL/bin/python", // 方式B:不写 python,改用 VSCode 里选的解释器(推荐日常) // -> Ctrl+Shift+P 选择 “Python: Select Interpreter” // -> 然后删掉本行 "python": "...", "console": "integratedTerminal", }, { "name": "MRTA_DRL: t2.py (args)", "type": "debugpy", "request": "launch", // 1) 要跑的 python 文件:建议写死入口脚本 "program": "${workspaceFolder}/test_one/t2.py", // 2) 工作路径(相当于你在终端 cd 到哪里再执行) // "cwd": "${workspaceFolder}", // 3) 运行参数:等价于 python train.py --config xxx ... "args": ["--config", "simple_het", "--seed", "0"], // 4) 指定解释器(两种方式二选一) // 方式A:直接写解释器绝对路径(最稳) "python": "/home/yzh/miniconda3/envs/MRTA_DRL/bin/python", // 方式B:不写 python,改用 VSCode 里选的解释器(推荐日常) // -> Ctrl+Shift+P 选择 “Python: Select Interpreter” // -> 然后删掉本行 "python": "...", "console": "integratedTerminal", }, ] }

(2)第二种重构工作空间路径

// 1) 要跑的 python 文件:建议写死入口脚本

"program": "${workspaceFolder}/t2.py",

// 2) 工作路径(相当于你在终端 cd 到哪里再执行)

"cwd": "${workspaceFolder}/test_one",

{ "version": "0.2.0", "configurations": [ { "name": "MRTA_DRL: t1.py (args)", "type": "debugpy", "request": "launch", // 1) 要跑的 python 文件:建议写死入口脚本 "program": "${workspaceFolder}/t1.py", // 2) 工作路径(相当于你在终端 cd 到哪里再执行) // "cwd": "${workspaceFolder}", // 3) 运行参数:等价于 python train.py --config xxx ... "args": ["--config", "simple_het", "--seed", "0"], // 4) 指定解释器(两种方式二选一) // 方式A:直接写解释器绝对路径(最稳) "python": "/home/yzh/miniconda3/envs/MRTA_DRL/bin/python", // 方式B:不写 python,改用 VSCode 里选的解释器(推荐日常) // -> Ctrl+Shift+P 选择 “Python: Select Interpreter” // -> 然后删掉本行 "python": "...", "console": "integratedTerminal", }, { "name": "MRTA_DRL: t2.py (args)", "type": "debugpy", "request": "launch", // 1) 要跑的 python 文件:建议写死入口脚本 "program": "${workspaceFolder}/t2.py", // 2) 工作路径(相当于你在终端 cd 到哪里再执行) "cwd": "${workspaceFolder}/test_one", // 3) 运行参数:等价于 python train.py --config xxx ... "args": ["--config", "simple_het", "--seed", "0"], // 4) 指定解释器(两种方式二选一) // 方式A:直接写解释器绝对路径(最稳) "python": "/home/yzh/miniconda3/envs/MRTA_DRL/bin/python", // 方式B:不写 python,改用 VSCode 里选的解释器(推荐日常) // -> Ctrl+Shift+P 选择 “Python: Select Interpreter” // -> 然后删掉本行 "python": "...", "console": "integratedTerminal", }, ] }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 21:50:41

C++ 开发者的救星:vcpkg 极速上手与避坑完全指南

文章目录C 开发者的救星:vcpkg 极速上手与避坑完全指南1. 为什么你需要 vcpkg?(痛点回顾)2. vcpkg 是怎么工作的?(底层逻辑)3. 保姆级安装流程(Windows 篇)3.1 准备工作&…

作者头像 李华
网站建设 2026/8/21 21:50:40

【第1章 计算机、程序与C语言】-1.4程序的编写、编译与运行全流程

文章目录 第二章:程序的编写、编译与运行全流程 2.1 编程环境的哲学:从思想到机器码的转换 2.1.1 编程的本质:多层次抽象 2.2 程序编写:从构思到代码 2.2.1 问题分析与算法设计 2.2.2 编程方法论:结构化编程原则 2.3 编译过程:从源代码到可执行文件 2.3.1 编译的四个阶段…

作者头像 李华
网站建设 2026/8/21 21:50:41

ConvertX:文件处理自动化的命令行效率工具指南

ConvertX:文件处理自动化的命令行效率工具指南 【免费下载链接】ConvertX 💾 Self-hosted online file converter. Supports 700 formats 项目地址: https://gitcode.com/GitHub_Trending/co/ConvertX 在数字化办公环境中,文件格式转换…

作者头像 李华
网站建设 2026/8/21 21:50:48

5分钟实现Kubernetes自动化部署:CI/CD集成最佳实践指南

5分钟实现Kubernetes自动化部署&#xff1a;CI/CD集成最佳实践指南 【免费下载链接】k3sup bootstrap K3s over SSH in < 60s &#x1f680; 项目地址: https://gitcode.com/gh_mirrors/k3/k3sup 在现代DevOps体系中&#xff0c;Kubernetes自动化部署与CI/CD集成已成…

作者头像 李华
网站建设 2026/8/21 21:50:47

如何3分钟搞定专业发票?这款工具让财务工作效率提升80%

如何3分钟搞定专业发票&#xff1f;这款工具让财务工作效率提升80% 【免费下载链接】invoify An invoice generator app built using Next.js, Typescript, and Shadcn 项目地址: https://gitcode.com/GitHub_Trending/in/invoify 你是否也曾经历过这样的场景&#xff1…

作者头像 李华