Conda安装慢的根源是默认源在国外、依赖解析卡顿、缓存未清理;换清华源(含main/free/r/conda-forge)、设channel_priority strict和remote_read_timeout_secs 120、执行conda clean -i,5分钟内提速。

Conda环境安装慢,核心问题不在你电脑性能,而是默认源在国外、依赖解析卡顿、缓存未清理这三件事。换源+调参+清缓存,5分钟内就能让 conda create 从“等得怀疑人生”变成“回车就完事”。
怎么确认当前用的是默认源(而不是国内镜像)
执行这条命令就能看到真实配置:
conda config --show channels
如果输出里只有 defaults,或者压根没输出任何有效 channel,说明你还在走官方源——这是国内用户最常踩的起点错误。
- Windows 用户的
.condarc文件通常藏在C:\Users\你的用户名\.condarc,是隐藏文件,需手动开启显示隐藏文件才能编辑 - Mac/Linux 用户直接在终端运行
cat ~/.condarc查看内容 - 如果文件不存在,
conda config --show会显示 fallback 默认值,也等同于没配源
清华源完整配置命令(别只加 main 就跑)
只加 main 频道会导致部分包(比如 R 生态、bioinfo 工具、新版本 numpy/scipy)找不到,必须按优先级补全常用频道:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --set show_channel_urls yes
执行完再检查 .condarc,确保 channels 列表里 conda-forge 在 main 前面(顺序决定优先级),否则 conda-forge 的新版包可能被 main 的旧版覆盖。
- 不推荐混用
defaults和镜像源,容易触发 channel 冲突,导致Solving environment卡死 - 中科大源(
https://mirrors.ustc.edu.cn/anaconda/)和阿里云源(https://mirrors.aliyun.com/anaconda/)可作为备选,但清华源目前同步最及时、CDN 节点最多
解决 “Solving environment” 卡住的关键参数
即使换了源,conda create 还可能卡在依赖解析阶段,这不是网络问题,而是 conda 默认行为太保守。两个参数必须改:
Miniconda py314_26.5.3-2 Linux x86_64 安装脚本,来自 Anaconda 官方 Miniconda 下载目录,适合服务器、工作站和容器环境配置轻量 Conda 与 Python。
conda config --set channel_priority strict conda config --set remote_read_timeout_secs 120
channel_priority strict 强制 conda 只从最高优先级 channel 拿包,不跨 channel 混搭版本;remote_read_timeout_secs 120 避免因 CDN 缓存延迟或小波动被误判超时中断。
- 别设成 300 或更高——超时过长反而拖慢失败反馈,120 是实测平衡点
- 这个设置对
conda install同样生效,不是仅限于create - 如果后续遇到某些包提示 “not found”,先确认该包是否在你已添加的 channel 中,而不是盲目降级 priority
换源后必须立刻执行的清理动作
旧索引缓存(repodata.json)会残留默认源数据,导致 conda 一边查镜像源、一边又去连国外服务器,速度不升反降:
conda clean -i
这条命令只清索引,不删已下载的包,安全且必要。如果你还发现 pkgs/ 目录异常庞大(>2GB),可以追加执行:
conda clean --all
但注意:--all 会清掉所有未被环境引用的包缓存,下次重装相同包要重新下载。
- Miniconda 默认缓存路径:Windows 是
%USERPROFILE%\AppData\Local\Continuum\miniconda3\pkgs\,Mac/Linux 是~/miniconda3/pkgs/ - 不建议手动删
pkgs/下的文件,容易破坏 conda 自身的哈希校验
真正影响速度的从来不是“要不要换源”,而是换哪几个源、顺序怎么排、缓存清没清、timeout 设多少——这些细节错一个,就可能让优化效果打五折。尤其 channel_priority strict 和 conda clean -i 这两步,90% 的人会漏掉其中一个。

















