Vscode python 跨文件夹调用模块报错解决方法

Vscode python 跨文件夹调用模块报错解决方法
一. 问题描述在 1.py 中调用 config.py 中的名称时在 vscode 中直接运行 1.py 文件会报错。# 文件夹结构如下。 项目根目录/ config.py main.py dir1/ 1.py二. 原因分析运行 python dir1/1.py 时sys.path[0] 脚本所在目录 .../项目根目录/dir1/Python 只在 dir1/ 下找 config 包 → 找不到 → 报错。如果脚本在根目录下运行sys.path[0] 根目录自然能找到 config 模块。关键在于 sys.path[0] 是脚本文件所在目录不是你执行命令的工作目录。三. 解决方法Vscode 的项目配置文件设置如下# settings.json { python.terminal.executeInFileDir: false, terminal.integrated.env.windows: { PYTHONPATH: ${workspaceFolder} } } # launch.json { version: 0.2.0, configurations: [ { name: Python: 当前文件, type: debugpy, request: launch, program: ${file}, console: integratedTerminal, cwd: ${workspaceFolder}, env: { PYTHONPATH: ${workspaceFolder} } } ] }设置了 PYTHONPATH“ 环境变量为项目根目录python 会从中查询包和模块从而能正确找到config。 这样设置的 PYTHONPATH“ 环境变量也是项目级的不会影响其它项目。注意 1.py 的导入语句应该如下from config import a这样就能正常的运行和调试模块了。