Azure DevOps装库后Databricks Notebook提示找不到导入模块问题求助
Azure Databricks流水线安装PyPI库后Notebook提示找不到模块排查方案
核心排查点
- 参数格式错误:你当前使用的
Add-DatabricksLibrary命令参数不符合要求,LibraryType为pypi时,LibrarySettings需要传入JSON格式指定包名,而不是直接写包名字符串。你原来的写法会导致库安装请求异常,即使界面显示安装成功,实际也没有正确拉取对应PyPI包。
修正后的安装命令如下:Add-DatabricksLibrary -BearerToken $(az-bearer-token) -Region $(az-region) -LibraryType "pypi" -LibrarySettings '{"package": "azure-identity"}' -ClusterId 'xxxxxx' Add-DatabricksLibrary -BearerToken $(az-bearer-token) -Region $(az-region) -LibraryType "pypi" -LibrarySettings '{"package": "azure-keyvault-secrets"}' -ClusterId 'xxxxx' - 未触发集群重启:Databricks集群安装新库后必须重启才能将库加载到运行环境,你当前流水线安装完库后直接执行后续Notebook任务,没有重启集群步骤,导致运行环境没有加载新安装的库。
你需要在安装库的步骤后新增集群重启+等待就绪的逻辑:# 重启集群 Restart-DatabricksCluster -BearerToken $(az-bearer-token) -Region $(az-region) -ClusterId 'xxxxxx' # 循环等待集群进入Running状态,示例逻辑可根据需要调整超时时间 do { Start-Sleep -Seconds 30 $clusterState = Get-DatabricksCluster -BearerToken $(az-bearer-token) -Region $(az-region) -ClusterId 'xxxxxx' | Select-Object -ExpandProperty state } while ($clusterState -ne 'Running') - 集群匹配错误:检查
executenotebook@0任务中指定的集群ID,和你安装库时用的集群ID是否完全一致,避免出现库装到测试集群、Notebook跑在生产集群的错配问题。 - Python内核版本不匹配:如果你的集群同时安装了Python2和Python3,需要确认库安装的内核版本和Notebook使用的内核版本一致。你可以在报错的Notebook中执行以下命令验证已安装的包:
import sys print(sys.executable) # 查看当前使用的Python路径 !pip list | grep azure # 查看当前环境安装的azure开头的包 - 库安装实际失败:进入Databricks集群的「事件日志」页面,搜索库安装相关的日志,确认是否存在镜像源无法访问、包版本冲突等隐藏的安装失败问题。
内容的提问来源于stack exchange,提问作者kiran jan
相关产品推荐
相关产品推荐

