VSCode调试Python时自定义模块找不到的问题求助
VS Code Python调试无法导入模块的解决办法
问题背景
项目目录结构:
project_name (VS Code打开的根目录) - project_code - py_files (待调试文件所在目录) - modules (需导入的模块所在目录)
当前使用的launch.json配置:
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. "version": "0.2.0", "configurations": [ { "name": "Python: Module", "type": "python", "request": "launch", "program": "${file}", "env": {"PYTHONPATH": "${workspaceFolder}\\project_code"} } ] }
待调试文件直接运行正常,但启动VS Code调试时,无法找到modules目录下的模块。
解决步骤
1. 修正PYTHONPATH路径格式
将配置中的\\替换为/,避免Windows路径分隔符在VS Code变量替换中出现异常:
"env": {"PYTHONPATH": "${workspaceFolder}/project_code"}
2. 统一调试工作目录
若直接运行时是在project_code目录下执行脚本,调试时需同步工作目录,在launch配置中添加cwd字段:
{ "name": "Python: Module", "type": "python", "request": "launch", "program": "${file}", "env": {"PYTHONPATH": "${workspaceFolder}/project_code"}, "cwd": "${workspaceFolder}/project_code" }
3. 验证Python解释器一致性
检查直接运行使用的Python解释器与VS Code调试选中的解释器是否一致:
- 直接运行时执行
which python(Linux/macOS)或where python(Windows)查看路径 - 在VS Code右下角点击Python版本,确认选中的解释器路径与上述一致
4. 临时打印sys.path排查差异
在待调试文件开头添加以下代码,对比直接运行和调试时的sys.path输出,确认project_code目录是否被正确加入:
import sys print("当前sys.path:", sys.path)
如果调试时sys.path中没有project_code路径,说明PYTHONPATH配置未生效,可以尝试手动指定绝对路径(例如"PYTHONPATH": "D:/projects/project_name/project_code")进行测试。
内容的提问来源于stack exchange,提问作者terrygryffindor
相关产品推荐
相关产品推荐

