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

Azure Synapse Spark作业定义上传Python引用文件目录报模块未找到错误

Azure Synapse Spark作业传入Python依赖目录触发ModuleNotFoundError的解决方法

你使用abfss://[data lake中的目录路径]/*的路径格式无法正确传入整个Python目录,Synapse Spark的参考文件配置不支持通配符批量保留目录结构上传,匹配到的文件会被平铺到工作节点的工作目录中,原有模块的层级结构丢失,所以触发导入报错。

解决步骤如下:

  • 将需要引用的整个Python目录打包为zip格式,比如依赖目录名称为my_module,打包后得到my_module.zip,确保zip包打开后根目录直接是my_module文件夹,不要嵌套多余的外层目录
  • 将打包好的zip文件上传到ADLS Gen2的指定路径,示例完整路径格式如下:
    abfss://<容器名称>@<存储账户名称>.dfs.core.chinacloudapi.cn/<自定义存储路径>/my_module.zip
  • 在Synapse Spark作业定义的配置 > 参考文件栏,填入上述zip包的完整ABFSS路径;如果通过代码提交作业,可直接在Spark配置中添加如下参数:
    spark.submit.pyFiles=abfss://<容器名称>@<存储账户名称>.dfs.core.chinacloudapi.cn/<自定义存储路径>/my_module.zip
  • 在主Python运行文件的头部,添加如下代码将zip包加入Python模块检索路径:
    import sys
    sys.path.insert(0, "my_module.zip")
    
    完成配置后即可正常导入对应模块,比如from my_module.tool import func这类导入语句可以正常执行。

若无需保留目录结构,也可以单独上传所有Python依赖文件到参考文件列表,直接按文件名导入即可,适合依赖文件数量少的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:15:03