Arcgis+Python:Azure YAML流水线执行krb5-config命令报错退出码127
解决Azure Function构建时
krb5-config命令不存在的问题 问题根源
krb5-config是Kerberos开发工具集的核心命令,你的arcgis==2.0.1依赖间接引入了需要Kerberos支持的库(如gssapi),但Azure Pipeline的默认构建环境未预装Kerberos开发包,导致命令无法找到,触发退出码127的错误。
具体解决方案
1. 在流水线YAML中前置安装Kerberos依赖
根据构建代理的操作系统,在执行pip install步骤前添加安装命令:
- Ubuntu/Debian 托管代理:
- script: | sudo apt-get update sudo apt-get install -y krb5-user libkrb5-dev displayName: 'Install Kerberos dev packages' - CentOS/RHEL 托管代理:
- script: | sudo yum install -y krb5-devel krb5-libs displayName: 'Install Kerberos dev packages'
2. 优化依赖安装命令
如果安装Kerberos后仍有问题,尝试给pip install添加--no-binary :all:参数,强制从源码编译依赖(可能会延长构建时间,但能避免预编译包的环境适配问题):
- script: | pip install --no-binary :all: -r requirements.txt displayName: 'Install Python dependencies'
3. 自定义代理环境检查
如果使用自行维护的构建代理,直接在代理系统上安装Kerberos开发包,避免每次流水线都重复安装。
内容的提问来源于stack exchange,提问作者FaCoffee
相关产品推荐
相关产品推荐

