conda默认走海外源导致下载卡顿,必须将清华镜像源按main→conda-forge→r→msys2顺序置于defaults之前,并执行conda config --remove-key channels清空旧配置、conda clean -i清理缓存,否则依赖解析仍用海外元数据。

conda 默认走海外源,国内用户常遇到下载卡住、超时、解析失败(比如 CondaHTTPError 或 ResolvePackageNotFound),根本原因是网络延迟高、DNS不稳定。直接换清华镜像源就能解决 90% 的安装问题,但必须注意配置顺序和清理缓存,否则可能白配。
为什么 conda config --add channels 顺序很重要
conda 按 channels 列表从上到下匹配包,一旦在靠前的 channel 找到满足条件的版本,就不会继续往后查。如果把 defaults 放最前(默认行为),它会优先尝试海外源,导致卡顿或失败。
- 必须把国内源加在 defaults 前面,且按依赖层级排列:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main(核心Python包)
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge(第三方生态,如 PyTorch、scikit-learn)
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r(R语言支持)
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2(Windows 编译工具链)
- 执行前先清空旧配置:conda config --remove-key channels,避免多源混杂引发冲突
conda clean -i 不是可选项,是必做步骤
改完 .condarc 后不清理索引缓存,conda 仍会用旧的海外元数据做依赖解析,结果就是:
- 显示“Solving environment”卡死几分钟
- 报错 ConnectionError: Failed to connect 却没走新镜像
- 安装时提示找不到包,实际镜像里早已有
执行 conda clean -i 强制重建索引,再运行 conda info --channels 确认输出全是 tuna.tsinghua.edu.cn 地址才算生效
PyCharm 里 pip install 还慢?那是 pip 没换源
conda 换源只影响 conda install,PyCharm 的包管理器底层调用的是 pip,必须单独配置:
- 永久生效:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
- 临时单次:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
注意:pip 镜像地址和 conda 完全不同,别把 anaconda/pkgs/main 地址错贴给 pip,否则报 404 Not Found验证是否真生效的唯一可靠方式
不要只看conda config --show channels 输出,要实测:
- 运行 conda create -n testenv python=3.11,观察终端是否打印类似 Downloading from https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/python-3.11.9-hc857a3e_0.conda 的 URL
- 如果出现 repo.anaconda.com 或 anaconda.org,说明某处配置漏了或被覆盖
- Windows 用户特别注意:.condarc 文件可能存在于 C:\Users\<username>\.condarc</username> 和 C:\ProgramData\Anaconda3\.condarc 两个位置,后者优先级更高,需一并检查
清华源目前稳定,中科大源已停止服务,阿里云源对 conda 支持有限(主要面向 pip),别混用。配置完成后,conda install 耗时从分钟级降到秒级,但第一次创建环境仍需下载基础包,后续复用快得多。

















