Vscode python 跨文件夹调用模块报错解决方法
2026/7/22 8:21:26 网站建设 项目流程

一. 问题描述

在 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

这样就能正常的运行和调试模块了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询