Azure流水线Ubuntu虚拟机执行conda install python=3.7超时问题
解决方案
- 该超时问题的常见根因包含两点:一是Azure流水线虚拟机访问Anaconda官方源链路不稳定,拉取包文件时速度过慢触发超时;二是直接修改base环境的Python版本,触发大量基础依赖的循环校验导致进程无响应。
- 方案1:优先创建独立虚拟环境,避免修改base环境
直接修改base环境的Python版本会触发conda对大量基础依赖做版本兼容校验,极易出现卡滞,建议新建独立虚拟环境,执行命令:
conda create -n py37 python=3.7 -y # 后续使用前执行激活命令即可 source activate py37
- 方案2:替换conda源为就近镜像,提升拉取速度
默认官方源跨区域访问速度极慢,可替换为与你Azure流水线部署区域同区域的conda镜像源,配置命令参考:
conda config --add channels [就近镜像源地址] conda config --set show_channel_urls yes
配置完成后再执行安装命令即可。
- 方案3:调整conda配置,减少阻塞
执行安装命令前先调整网络超时参数,同时增加自动确认参数避免交互等待:
# 调整网络超时阈值 conda config --set remote_connect_timeout_secs 30 conda config --set remote_read_timeout_secs 120 # 执行安装命令,-y自动确认,-vv输出详细日志定位卡滞点 conda install -c anaconda python=3.7 -y -vv
- 方案4:Azure流水线配置conda缓存
在流水线YAML定义中增加conda包缓存任务,避免每次构建都重新拉取全量依赖包:
- task: Cache@2 inputs: key: 'conda | "$(Agent.OS)" | environment.yml' path: /home/vsts/.conda/pkgs displayName: Cache conda packages
内容的提问来源于stack exchange,提问作者C.B.
相关产品推荐
相关产品推荐

