当前位置: 首页 > news >正文

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", }, ] }
http://www.jsqmd.com/news/364711/

相关文章:

  • 2026油田回注水厂家哪家比较好?实力品牌推荐 - 品牌排行榜
  • 怎么联系黑奥秘专业头皮健康管理服务 - 品牌排行榜
  • 2026头皮健康管理选择:黑奥秘靠谱吗 - 品牌排行榜
  • 2026黑奥秘养发加盟立即咨询 探索头皮健康创业新方向 - 品牌排行榜
  • 2026年黑奥秘脱发白发理疗咨询电话及专业服务指南 - 品牌排行榜
  • 2026年黑奥秘加盟官网电话获取,头皮健康领域创业新方向 - 品牌排行榜
  • 【系统分析师】7.4 软件过程管理
  • 深度解析五羊-本田前端开发工程师职位:技术全景与面试指南
  • dotnet Vortice 无需交换链与 DirectComposition 对接渲染层
  • 2026年2月工业废水处理聚丙烯酰胺厂家推荐,高难度废水专用 - 品牌鉴赏师
  • 读数字时代的网络风险管理:策略、计划与执行13AI及其他(下)
  • 连通分量(connected component)
  • Typora 如何更改字体的颜色
  • 多邻国第五阶段 第51部分错题汇总
  • 2026年2月国内马耳他移民公司推荐,专业靠谱服务商精选 - 品牌鉴赏师
  • 从Java全栈到前端框架:一场真实的技术面试
  • 世毫九实验室:自指认知=递归对抗架构
  • 2026年Q1湖南自建房施工单位口碑TOP5深度解析 - 2026年企业推荐榜
  • 2026热电除尘设备实力榜:化工除尘器、冶金除尘器水、泥厂除尘器厂家推荐 - 栗子测评
  • 2026年质量好的干花椒/红花椒行业内知名厂家推荐 - 品牌宣传支持者
  • 弹簧床垫工厂哪家好?2026年实力弹簧床垫厂家盘点/优质床垫源头工厂推荐/专业床垫定做厂家汇总 - 栗子测评
  • 湖南乡村自建房定制施工队怎么选?这五家值得关注 - 2026年企业推荐榜
  • 2026内蒙古探矿钻机制造商综合评测与选型指南 - 2026年企业推荐榜
  • 探秘2026:五大诚信GEO源头厂家联系与选择全攻略 - 2026年企业推荐榜
  • 2026年如何挑选靠谱的Agent智能体公司?五家实力厂商深度解析 - 2026年企业推荐榜
  • 2026重庆灯具供货商实力盘点:五大领先企业深度解析 - 2026年企业推荐榜
  • 2026年比较好的乳业气动物流传输系统/药厂气动物流传输系统热门厂家推荐汇总 - 品牌宣传支持者
  • 前端——问卷系统评分题保存草稿报错的解决方案
  • 实时状态机框架 QP/C
  • 2026年2月谷歌外贸营销推广公司推荐,数据分析与优化策略指南 - 品牌鉴赏师