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

Python Azure Function部署极慢,寻求缓存依赖及加速方案

加速Python Azure Functions部署的方案

一、缓存已安装依赖,避免全量重装

  • 保留现有.python目录:默认部署流程会删除旧的.python目录,你可以修改部署脚本(比如Azure CLI或CI脚本),跳过该目录的删除步骤。仅当requirements.txt有变更时,才重新执行依赖安装,否则直接复用已有的依赖目录。
  • 配置pip本地缓存:在部署的pip安装命令中指定缓存目录,让重复依赖无需重新下载。示例命令:
    # 先下载依赖到缓存目录
    pip download -r requirements.txt -d /home/site/.pip-cache
    # 从缓存目录安装,不访问远程源
    pip install --no-index --find-links /home/site/.pip-cache -r requirements.txt
    
  • 预先构建依赖包:在本地或CI环境中,提前构建适配Azure Linux运行时的依赖包(可使用Docker模拟Azure环境),将.python目录打包后,部署时直接解压到/home/site/wwwroot,跳过在线安装步骤。也可以用func pack命令打包成zip包,部署时直接上传zip,减少服务器端的安装操作。

二、其他加速部署的技巧

  • 精简依赖清单:检查requirements.txt,移除未使用的包。比如darts依赖较多第三方库,确认是否全部用到;torch可进一步确认是否需要完整功能,尝试用更轻量的替代版本。
  • 分层部署:将代码文件与依赖目录分离,仅在代码小幅改动时,同步更新代码文件(比如用Azure CLI的az functionapp deployment source config-zip指定只上传代码文件),依赖目录保持不变。
  • 使用部署槽:先部署到staging槽,验证无误后再切换到生产槽。部署槽之间可复用已缓存的依赖,同时避免部署过程影响生产服务。
  • 升级服务计划:将Consumption计划切换为Premium或Dedicated计划,这类计划提供更充足的计算资源,能大幅缩短依赖安装和文件复制的时间。
  • 优化pip下载源:在requirements.txt顶部添加国内镜像源,加速包的下载速度,示例:
    -i https://pypi.tuna.tsinghua.edu.cn/simple
    azure-functions
    pyodbc
    sqlalchemy
    numpy==1.26.4
    pandas
    -f https://download.pytorch.org/whl/torch_stable.html
    torch==2.2.0+cpu
    darts
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 00:55:03