运行Python Azure Function App报GLIBC_2.29缺失及CI流水线依赖安装错误
Azure Function Python应用报错排查与解决方案
关联报错截图

1. CI流水线「安装依赖」任务异常修复
根因
构建环境未安装wheel包,pip无法为pyodbc生成二进制wheel包,只能回退到legacy的setup.py install模式执行安装。
修复步骤
- 在CI流水线的依赖安装步骤最前面,添加版本升级命令,更新基础包到最新版本:
pip install --upgrade pip setuptools wheel - 再执行原有
pip install -r requirements.txt的依赖安装逻辑即可消除该警告。
2. 运行时GLIBC_2.29 not found报错修复
根因
高版本pyodbc的官方预编译二进制包依赖GLIBC 2.29及以上系统库,但Azure Function默认的Linux运行时镜像(基于Debian 10/Buster)自带的GLIBC最高版本为2.28,无法满足依赖要求,触发导入错误。
修复方案(按优先度排序)
方案A:降级pyodbc到兼容版本(最便捷)
直接在requirements.txt中指定pyodbc为适配低版本GLIBC的4.0.35版本即可:
pyodbc==4.0.35
修改后重新触发CI构建部署即可正常运行。
方案B:升级Function运行时基础镜像
如果必须使用高版本pyodbc,可以将Function App的运行时镜像切换到更高版本的Debian发行版:
- 进入Azure Portal的Function App配置页面,修改
LinuxFxVersion参数为更高版本的Python镜像,例如PYTHON|3.10-bookworm(基于Debian 12,自带GLIBC 2.36) - 同步修改CI流水线的构建镜像与运行时镜像保持一致,避免构建、运行环境差异导致其他兼容问题。
方案C:同环境编译pyodbc
如果有特殊版本要求,可以在CI构建阶段使用与Azure Function运行时完全一致的基础镜像编译安装pyodbc,生成适配当前GLIBC版本的二进制包,无需依赖官方预编译包。
内容的提问来源于stack exchange,提问作者Aniket Karajgikar
相关产品推荐
相关产品推荐

