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

VS Code中launch.json配置的PYTHONPATH在Python脚本中不生效

问题:VS Code中配置PYTHONPATH不生效的解决方法

问题说明

我需要从当前工作目录的上级目录导入方法,手动追加目录到sys.path可行,但想利用VS Code的${workspaceFolder}变量配置PYTHONPATH——由于.env文件无法识别该变量,所以尝试在launch.json中配置,但运行代码时sys.path里始终看不到预期的conf目录。

目录结构

project/
  - .vscode
     - launch.json
  - conf/
     - file1.py
  - src/
     - file2.py
  - main.py
  - example.py

当前launch.json配置

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: main",
            "type": "python",
            "request": "launch",
            "module": "main",
            "justMyCode": true,
            "env": {"PYTHONPATH": "${workspaceFolder}/conf/"}
        },
        {
            "name": "Python: example",
            "type": "python",
            "request": "launch",
            "module": "example",
            "justMyCode": true,
            "env": {"PYTHONPATH": "${workspaceFolder}/conf/"}
        },
    ]
}

测试代码(打印sys.path)

import sys
print(sys.path)

正确配置方式

1. 修复JSON语法错误

原配置中最后一个配置项末尾的多余逗号会导致JSON解析失败,VS Code无法正常加载配置,需删除该逗号。

2. 追加而非覆盖PYTHONPATH

直接赋值会覆盖原有PYTHONPATH,导致Python丢失标准库或依赖路径。应将目标路径追加到原有路径后,根据操作系统调整分隔符:

  • Linux/macOS 使用冒号 :
  • Windows 使用分号 ;

修改后的完整launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: main",
            "type": "python",
            "request": "launch",
            "module": "main",
            "justMyCode": true,
            "env": {"PYTHONPATH": "${workspaceFolder}/conf:${env:PYTHONPATH}"}
        },
        {
            "name": "Python: example",
            "type": "python",
            "request": "launch",
            "module": "example",
            "justMyCode": true,
            "env": {"PYTHONPATH": "${workspaceFolder}/conf:${env:PYTHONPATH}"}
        }
    ]
}

3. 确认工作区根目录

确保VS Code打开的工作区根目录是project文件夹,而非其子目录,否则${workspaceFolder}解析路径会出错。

4. 交互模式生效配置(可选)

若希望VS Code终端的交互模式也能识别该PYTHONPATH,可在工作区settings.json中添加对应系统的终端环境配置:

// Linux/macOS
"terminal.integrated.env.linux": {
    "PYTHONPATH": "${workspaceFolder}/conf:${env:PYTHONPATH}"
}

// Windows
"terminal.integrated.env.windows": {
    "PYTHONPATH": "${workspaceFolder}/conf;${env:PYTHONPATH}"
}

内容的提问来源于stack exchange,提问作者vpk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 19:47:46