You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio Code中以主模块模式运行Python以支持相对导入?

当然可以通过VS Code的launch.json直接配置实现!

你完全不用依赖额外的run.py文件或者runpy模块,VS Code的Python调试配置原生支持模拟python -m <module>的运行方式,完美解决相对导入的问题。具体配置步骤如下:

步骤1:编辑launch.json

打开VS Code的「运行和调试」面板(左侧工具栏的虫子图标),如果还没有配置文件,点击「创建launch.json文件」并选择「Python」环境;如果已有配置,直接编辑现有条目。

步骤2:配置模块运行模式

把原来的"program"字段替换为"module"字段,指定你要运行的模块路径(和命令行-m后面的参数一致)。举个实际的例子:

假设你的项目结构是这样的:

your_workspace/
└── my_project/
    ├── __init__.py
    ├── main.py  # 你的目标文件,里面用了相对导入
    └── utils/
        └── helper.py

那么对应的launch.json配置应该是:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Run as Module",
            "type": "python",
            "request": "launch",
            "module": "my_project.main",  // 对应命令行的`python -m my_project.main`
            "justMyCode": true
        }
    ]
}

为什么这个配置能生效?

"module"选项就是VS Code专门用来模拟python -m运行模式的:它会自动把模块所在的父目录加入Python的sys.path,同时以模块的方式加载目标文件,这样相对导入(比如from .utils.helper import xxx)就能正常识别了,和你在命令行敲python -m my_project.main的效果完全一致。

如果你的目标文件直接在工作区根目录下(不属于任何子包),那模块名就是文件名本身(不带.py后缀),比如"module": "main"就对应python -m main。

对比你的临时方案

这个方法比额外写run.py要更简洁,不需要维护额外的启动文件,直接通过VS Code的配置就能完成模块模式的运行,调试体验也更原生。

内容的提问来源于stack exchange,提问作者Pieter Jan Bonestroo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:25:21