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

Azure Function Python部署(Oryx构建)卡在pip install步骤

Azure Function部署卡在"Running pip install..."步骤的解决思路

环境信息

本地环境

  • Windows 10
  • VS Code 1.82.2
  • Python 3.9.10
  • Azure Function Core Tools 4.0.5390

Azure环境

  • 两个函数应用(dev/prod)
  • 均使用运行时版本~4
  • 均运行在P2v2规格的App Service Plan上

问题描述

从本地部署到Azure时,VS Code输出窗口推进到Running pip install...步骤后停滞,从未完成。部署日志如下:

11:53:56 PM <function name removed>: Starting deployment...
11:53:56 PM <function name removed>: Creating zip package...
11:54:00 PM <function name removed>: Zip package size: 17.6 MB
11:54:05 PM <function name removed>: Fetching changes.
11:54:06 PM <function name removed>: Cleaning up temp folders from previous zip deployments and extracting pushed zip file <removed>.zip (16.84 MB) to /tmp/zipdeploy/extracted
11:54:09 PM <function name removed>: Updating submodules.
11:54:10 PM <function name removed>: Preparing deployment for commit id <removed>.
11:54:10 PM <function name removed>: PreDeployment: context.CleanOutputPath False
11:54:10 PM <function name removed>: PreDeployment: context.OutputPath /home/site/wwwroot
11:54:10 PM <function name removed>: Repository path is /tmp/zipdeploy/extracted
11:54:10 PM <function name removed>: Running oryx build...
11:54:10 PM <function name removed>: Command: oryx build /tmp/zipdeploy/extracted -o /tmp/build/expressbuild --platform python --platform-version 3.9.7 -i <removed> -p packagedir=.python_packages/lib/site-packages
11:54:11 PM <function name removed>: Operation performed by Microsoft Oryx, https://github.com/Microsoft/Oryx
11:54:11 PM <function name removed>: You can report issues at https://github.com/Microsoft/Oryx/issues
11:54:11 PM <function name removed>: Oryx Version: 0.2.20230508.1, Commit: 7fe2bf39b357dd68572b438a85ca50b5ecfb4592, ReleaseTagName: 20230508.1
11:54:11 PM <function name removed>: Build Operation ID: <removed>
11:54:11 PM <function name removed>: Repository Commit : <removed>
11:54:11 PM <function name removed>: OS Type           : bullseye
11:54:11 PM <function name removed>: Image Type        : githubactions
11:54:11 PM <function name removed>: Detecting platforms...
11:54:12 PM <function name removed>: Detected following platforms:
11:54:12 PM <function name removed>:   python: 3.9.7
11:54:12 PM <function name removed>: Using intermediate directory <removed>.
11:54:12 PM <function name removed>: Copying files to the intermediate directory...
11:54:12 PM <function name removed>: Done in 0 sec(s).
11:54:12 PM <function name removed>: Source directory     : <removed>
11:54:12 PM <function name removed>: Destination directory: /tmp/build/expressbuild
11:54:13 PM <function name removed>: Python Version: /tmp/oryx/platforms/python/3.9.7/bin/python3.9
11:54:13 PM <function name removed>: Creating directory for command manifest file if it does not exist
11:54:13 PM <function name removed>: Removing existing manifest file
11:54:13 PM <function name removed>: Running pip install...

dev和prod环境部署均出现此问题。

已尝试的无效方法

  • 升级VS Code到最新版本
  • 升级Azure Function Core Tools到最新版本
  • 通过Azure门户部署中心使用“External Git”连接部署,日志同样卡在该步骤
  • 回滚requirements.txt到已知可用状态

解决思路

  1. 检查资源占用瓶颈:P2v2实例的CPU/内存可能在安装大依赖时被耗尽,导致进程挂起。在Azure门户的函数应用“监控”面板查看部署期间的资源使用率,若存在瓶颈,可临时升级实例规格(如P3v2)完成部署后再降级。

  2. 启用pip详细日志定位:在函数应用的“配置”→“应用程序设置”中添加SCM_BUILD_ARGS参数,值设为--verbose,让Oryx执行pip install时输出详细日志,查看具体卡在哪个依赖包的安装环节。

  3. 本地预构建依赖包:在本地执行pip install --target .python_packages/lib/site-packages -r requirements.txt提前安装依赖,将包含.python_packages目录的整个项目打包部署,跳过Azure端的pip安装步骤。注意确保本地Python版本(3.9.10)与Azure端3.9.7的兼容性。

  4. 排查依赖兼容性:逐个移除requirements.txt中的包,测试部署是否能完成,定位出导致停滞的具体依赖包,排查其是否存在网络源问题或与Python 3.9.7的隐性冲突。

  5. 清理Azure端构建缓存:通过Azure门户的“高级工具”进入Kudu控制台,删除/tmp/oryx和/tmp/build目录,清除Oryx的构建缓存后重新尝试部署。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:44:50