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

Amazon Linux2 EC2执行conda env create卡在repodata.json怎么办

Conda创建环境卡在Collecting package metadata (repodata.json)排查方案(Amazon Linux 2 EC2场景)

以下是按触发概率从高到低排序的排查点和对应解法:

  • 网络连通性问题
    这是EC2场景下最高发的原因,先执行curl -I https://repo.anaconda.com/pkgs/main/linux-64/repodata.json测试连通性:
    • 如果请求超时、返回4xx/5xx错误,先检查实例出站规则:私有子网实例确认是否绑定了可用的NAT网关/公网IP,安全组、网络ACL是否放行了443端口出站流量,Amazon Linux 2默认SELinux策略如果拦截了请求,可临时执行setenforce 0测试,确认后再添加对应放行规则。
    • 如果连通正常但速度极慢,直接替换为速度更快的镜像源,删除默认的官方源配置,替换完成后执行conda clean -i清空旧的索引缓存。
  • Conda版本过旧或求解器效率低
    2022年之前发布的Miniconda/Anaconda3版本自带的默认元数据拉取、依赖求解逻辑存在已知bug,很容易在拉取大体积repodata时无响应:
    1. 优先更新base环境的conda到最新版,执行conda update -n base conda -y,如果更新流程也卡住,直接下载最新版Miniconda安装包重装,比修复老版本效率更高。
    2. 安装libmamba求解器替代默认求解器,元数据拉取和依赖求解速度可以提升数倍,配置命令如下:
    conda install -n base conda-libmamba-solver -y
    conda config --set solver libmamba
    
  • 本地缓存损坏或锁文件残留
    之前conda进程异常退出会残留锁文件、损坏的repodata缓存,导致进程一直卡在缓存校验步骤:
    执行以下命令全量清理缓存和残留锁文件:
    conda clean -a -y
    rm -rf ~/.conda/pkgs/*.lock ~/.conda/pkgs/cache/*
    
    清理完成后重新执行环境创建命令即可。
  • 实例资源不足
    t2.micro等1G内存规格的免费档实例,在解析全量repodata时很容易因为内存不足触发OOM,进程被系统挂起但不会直接退出,表现为长时间无响应:
    1. 执行free -h查看实例剩余内存,如果可用内存低于1G,可以先添加2G swap空间临时缓解:
    sudo fallocate -l 2G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    
    1. 执行iostat 1查看磁盘IO使用率,如果IO使用率持续100%,说明gp2卷的IOPS被打满,要么等待卷积分恢复,要么升级为gp3类型卷提升IO性能。
  • 多源配置导致元数据拉取量过大
    如果environment.yml里同时配置了defaults、conda-forge以及多个第三方源,且没有开启严格源优先级,conda会拉取所有源的全量repodata做交叉校验,总数据量可达数GB,低配置实例上会耗时极久。执行conda config --set channel_priority strict开启严格源优先级,减少不必要的元数据拉取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 12:09:27