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

使用databricks-connect运行代码时遇ModuleNotFoundError: No module named 'calculations'求助

解决Databricks Connect中ModuleNotFoundError的问题

问题原因

本地运行时,IDE或Python环境自动将项目根目录加入了sys.path,但Databricks Connect的执行环境默认不会包含你的项目根目录,导致无法找到calculations模块。

解决方案

1. 手动将项目根目录添加到sys.path

在project.py的最开头添加以下代码,动态获取项目根目录并加入Python路径:

import sys
from pathlib import Path

# 获取当前文件所在目录
current_dir = Path(__file__).parent
# 项目根目录是当前目录的上级目录
root_dir = current_dir.parent
# 将根目录加入sys.path
sys.path.append(str(root_dir))

# 之后正常导入模块
from calculations.calculation1 import calculation1
from calculations.calculation2 import calculation2

2. 配置Databricks工作区路径映射

如果代码已上传到Databricks工作区,确保项目根目录被加入Python路径。可以通过dbutils添加:

import sys
from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()
dbutils = spark.sparkContext._jvm.com.databricks.backend.daemon.driver.dbutils.DBUtils(spark.sparkContext)

# 替换为你的项目在Databricks工作区的实际根路径
root_path = "/dbfs/your_project_root_folder"
sys.path.append(root_path)

3. 检查Databricks Connect配置

运行databricks-connect configure重新配置,确认本地项目目录与Databricks工作区的路径映射正确,确保代码目录被正确同步到Databricks环境中。

4. 使用相对导入(需调整包结构)

将整个项目作为Python包,修改project.py中的导入语句为相对导入:

from ..calculations.calculation1 import calculation1
from ..calculations.calculation2 import calculation2

注意:这种方式需要确保运行时是从项目根目录作为包的顶层执行,可能需要配合python -m final_combinations.project的方式启动,在Databricks环境中需额外配置包结构支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 15:15:09