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

使用Databricks VS Code扩展运行Python脚本时模块导入失败如何解决?

解决Databricks VS Code扩展中Python模块导入失败的问题

问题核心

报错的根本原因是Python解释器无法定位default_py包,主要和VS Code工作区路径指向以及PYTHONPATH配置不匹配有关。

解决方案

1. 修正VS Code工作区目录

VS Code的${workspaceFolder}变量基于当前打开的工作区目录:

  • 如果当前工作区是dbx_vscode,${workspaceFolder}/src对应的路径是dbx_vscode/src,但实际src目录在dbx_vscode/default_py/src下,路径不匹配导致找不到包。
  • 正确操作:关闭当前工作区,重新打开dbx_vscode/default_py作为工作区,此时${workspaceFolder}/src会正确指向包所在的目录。

2. 调整launch.json的PYTHONPATH(无需修改工作区时用)

如果坚持以dbx_vscode作为工作区,修改launch.json中的PYTHONPATH为实际的src路径:

{
    "type": "databricks",
    "request": "launch",
    "name": "DBX (Params)",
    "program": "${file}",
    "env": {
        "PYTHONPATH": "${workspaceFolder}/default_py/src"
    },
    "args": ["--catalog", "my_catalog", "--schema", "my_schema"]
}

3. 确认导入语句有效性

你的main.py中from default_py import taxis的导入语句是合法的——因为src下的default_py包含__init__.py,属于标准Python包,无需修改导入语句。

4. 临时调试方案(不推荐长期使用)

若上述配置仍未生效,可在main.py最顶部手动添加路径:

import sys
from pathlib import Path

# 获取src目录的绝对路径
src_path = Path(__file__).parent.parent.parent
sys.path.append(str(src_path))

from default_py import taxis

优化建议

简化项目结构,将src直接放在根工作区下,减少嵌套层级,后续配置和导入会更简洁:

dbx_vscode/
├─ src/
│  └─ default_py/
│     ├─ __init__.py
│     ├─ main.py
│     └─ taxis.py
└─ .vscode/
   └─ launch.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 14:52:36