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

单Shell脚本创建2个Miniconda环境时收集包元数据挂起问题

问题描述

在面向SageMaker的AWS Linux实例上,需要通过单个Shell脚本创建2个基于Miniconda的Conda环境并完成依赖包安装。首个环境的创建与包安装流程可正常执行,但第二个环境会在Collecting package metadata (repodata.json): ...working... done阶段永久挂起。
该问题此前已有公开讨论及对应解决方案,但尝试过的所有公开方案均未生效。

已尝试的排查方案(均未解决问题)
  • 移除频道源中的conda-forge:该操作引发严重的版本依赖冲突,且部分所需依赖包未收录于基础频道中,无法满足使用需求
  • 执行conda config --set channel_priority flexible调整频道优先级:未实际落地该操作,通过conda config --describe channel_priority查询确认当前频道优先级已经是flexible模式
  • 提升实例运行内存:将实例内存扩容至原有配置的2倍后,挂起问题仍然存在
  • 修改conda源码:编辑conda/conda/core/subdir_data.py文件,调整Executor配置行,修改为当context.debug或context.repodata_threads == 1时使用DummyExecutor,修改后问题复现
  • 安装Mamba替代Conda完成环境部署:运行时出现大量错误及依赖不一致警告,查询相关报错信息得知对应版本Mamba仅支持Python 2.7,而运行环境要求Python >= 3.7,无法适配使用
  • 其余零散排查方案因时间较久已无明确记录,均未解决挂起问题
待解决疑问
  • 是否有开发者通过单个脚本成功部署过1个以上的Conda环境?
  • 上述conda创建第二个环境时的永久挂起问题应如何修复?
问题更新(供同类问题用户参考)

尝试所有方案均未解决问题后,偶然移除脚本中通过conda安装的snowflake connector包,后续安装流程得以继续推进;之后流程再次挂起时,排查日志发现触发问题的是snowflake-sqlalchemy包。虽不确定两个Snowflake生态相关包触发挂起是否为巧合,但最终将这两个包从conda安装列表中移除,改用pip方式安装后,整个脚本可正常运行完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 05:21:23