解决 VSCode 中 Python 本地模块导入问题的方法

部署运行你感兴趣的模型镜像

解决 VSCode 中 Python 本地模块导入问题的方法

要在 VSCode 中使用规范的绝对导入(如 from my_project.package1 import module1)并避免 ModuleNotFoundError,需要正确配置 PYTHONPATH 环境变量。关键在于区分不同运行方式和操作系统。

方法一:配置 launch.json(适用于 F5 调试运行)
  1. 在项目根目录下的 .vscode 文件夹中打开或创建 launch.json

  2. 在配置中添加 "env" 字段来设置 PYTHONPATH

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Python: Current File",
                "type": "python",
                "request": "launch",
                "program": "${file}",
                "console": "integratedTerminal",
                "justMyCode": false,
                "env": {
                    // Windows 使用分号 ";"
                    "PYTHONPATH": "${workspaceFolder};${env:PYTHONPATH}"
                    // Linux/macOS 使用冒号 ":"
                    // "PYTHONPATH": "${workspaceFolder}:${env:PYTHONPATH}"
                }
            }
        ]
    }
    

    注意:此方法仅对通过 VSCode 的 F5(调试) 运行方式有效。

方法二:配置 settings.json(适用于 VSCode 终端运行)
  1. 打开 VSCode 设置 (Ctrl/Cmd + ,)。

  2. 搜索 terminal.integrated.env

  3. 点击对应操作系统的 “Edit in settings.json” 链接(通常建议修改用户 settings.json 以确保继承)。

  4. settings.json 中添加终端环境变量配置:

    {
        // ... 其他设置 ...
        // Windows 环境下为终端设置环境变量
        "terminal.integrated.env.windows": {
            "PYTHONPATH": "${workspaceFolder};${env:PYTHONPATH}"
        },
        // Linux/macOS 环境下为终端设置环境变量
        // "terminal.integrated.env.linux": {
        //     "PYTHONPATH": "${workspaceFolder}:${env:PYTHONPATH}"
        // },
        // "terminal.integrated.env.osx": {
        //     "PYTHONPATH": "${workspaceFolder}:${env:PYTHONPATH}"
        // }
    }
    

    注意

    • 修改 settings.json 后,必须关闭并重新打开 VSCode 或至少重新启动集成终端,配置才会生效。
    • 此方法使得在 VSCode 集成终端中直接运行 python script.py 也能正确识别模块路径。
关键点总结
  • 操作系统差异
    • Windows: PYTHONPATH 内部用 ; 分隔路径。
    • Linux/macOS: PYTHONPATH 内部用 : 分隔路径。
    • 配置错误会导致路径解析失败。
  • 配置范围
    • launch.json -> 仅 F5 调试。
    • settings.json (terminal.integrated.env) -> VSCode 终端。
  • 推荐做法:同时配置 launch.jsonsettings.json(根据操作系统选择正确的分隔符),以覆盖所有运行场景。优先修改用户 settings.json 通常更稳定。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值