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

如何在Azure Synapse Notebook中使用自定义*.py文件(无需转为笔记本)

在Azure Synapse Notebook中使用自定义*.py文件的解决方案

以下是几种无需转换格式即可直接使用自定义Python脚本的方法:

方法1:使用Workspace Packages打包上传

将自定义脚本打包成Python wheel包,通过Synapse的Workspace Packages功能统一管理,所有Notebook均可直接安装调用:

  1. 本地创建setup.py配置文件,示例:
    from setuptools import setup
    
    setup(
        name="my_utils",
        version="0.1",
        packages=[""],
        py_modules=["util"]
    )
    
  2. 执行命令生成wheel包:
    python setup.py bdist_wheel
    
  3. 在Synapse Studio的管理 > Workspace Packages中上传生成的.whl文件
  4. 在Notebook中安装并导入:
    %pip install --upgrade my_utils
    import util
    

方法2:将脚本存储到ADLS Gen2并添加到Python路径

直接将.py文件写入Synapse关联的ADLS Gen2存储,再将存储路径添加到Python的sys.path即可导入:

  1. 写入脚本到ADLS(可通过本地文件上传或Notebook代码写入):
    # 示例:直接在Notebook中写入util.py内容到ADLS路径
    with open("/synfs/<你的工作区ID>/<存储容器名>/scripts/util.py", "w") as f:
        f.write("""
    def calculate_sum(a, b):
        return a + b
    """)
    
  2. 添加路径到Python环境并导入:
    import sys
    # 替换为实际的ADLS路径对应的synfs路径
    sys.path.append("/synfs/<你的工作区ID>/<存储容器名>/scripts/")
    import util
    # 测试调用
    print(util.calculate_sum(2, 3))
    

方法3:通过Spark池初始化脚本全局部署

如果多个Notebook都需要使用该脚本,可配置Spark池的初始化脚本,将脚本部署到所有Spark节点的Python环境中:

  1. 将util.py上传到ADLS的某个路径(如abfss://<容器名>@<存储账户>.dfs.core.windows.net/init_scripts/util.py)
  2. 创建bash初始化脚本(如install_util.sh),内容如下:
    # 将py文件复制到Spark节点的Python包目录
    cp abfss://<容器名>@<存储账户>.dfs.core.windows.net/init_scripts/util.py /usr/lib/python3.8/site-packages/
    
  3. 在Synapse Studio的管理 > Apache Spark池中,选择目标池进入配置,添加初始化脚本的ADLS路径
  4. 重启Spark池后,所有使用该池的Notebook均可直接导入:
    import util
    

内容的提问来源于stack exchange,提问作者R. Maier

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:25:29