直接删掉 .condarc 文件最稳妥,因为 conda config --remove-key channels 仅删除 channels 键,却遗漏 custom_channels、default_channels、channel_alias 等清华源写入的残留字段,导致仍访问失效镜像地址;删文件后需执行 conda clean -i 清索引缓存并 conda update conda 验证回归官方 defaults 源。

直接删掉 .condarc 文件最稳妥,比用命令清理更彻底、更少出错。
为什么不能只靠 conda config --remove-key channels
这条命令看似能“一键恢复”,但实际经常失效。它只删除配置文件里 channels 这个键,却不管 custom_channels、default_channels、channel_alias 这些可能被清华源配置写入的字段。如果之前手动编辑过 .condarc,这些残留项会继续干扰 conda 的源解析逻辑,导致 conda install 依然去访问清华地址,甚至报 CondaHTTPError: HTTP 404 NOT FOUND(因为镜像站已下线部分旧路径)。
-
conda config --remove-key channels不处理自定义频道别名和默认通道重定向 - 清华源配置常附带
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda,这会让所有未显式指定 channel 的包请求都拼接清华前缀 - 某些版本 conda 对
--remove-key的实现不一致,Windows 和 macOS 行为可能不同
怎么安全删掉 .condarc
先确认文件位置,再删除,不要凭记忆瞎找:
- 运行
conda config --show-sources,第一行输出就是当前生效的.condarc路径(例如C:\Users\YourName\.condarc或/home/yourname/.condarc) - 直接在文件管理器或终端里删掉这个文件(不是清空内容,是整个文件删掉)
- 删完后运行
conda config --show channels,输出应该只剩defaults,且没有https://开头的 URL
此时 conda 会退回到完全干净的初始状态——只认官方 defaults 源,不读任何额外配置。
删完还慢?可能是缓存没清干净
即使恢复了默认源,旧索引缓存仍可能让 conda 错误地复用过期的清华元数据,表现为:conda search numpy 显示 “No packages found”,但你知道它肯定在 defaults 里。
- 运行
conda clean -i清掉所有索引缓存(这是最关键的一步) - 再运行
conda clean -p可选,删掉已下载但未安装的包缓存,释放空间 - 最后执行一次
conda update conda,强制刷新元数据并验证是否真正连上了 anaconda.org
如果 conda update conda 开始下载 conda- 开头的包,且进度条正常走,说明已回归官方源。
恢复后装不上包?先检查网络和代理
删 .condarc + 清缓存后仍失败,大概率不是源的问题,而是本地网络策略挡住了 repo.anaconda.com:
- 浏览器打开
https://repo.anaconda.com/pkgs/main/,看能否列出目录(注意不是跳转到首页) - 如果打不开,说明公司防火墙、校园网或 DNS 拦截了官方域名,此时换回镜像源反而是唯一解法
- 临时测试可用
conda install numpy -c defaults,强制走 defaults 频道,绕过 channels 列表顺序
国内很多单位对境外域名做了深度包检测,这时候镜像源不是“可选项”,而是“必需品”——恢复默认源只是帮你确认问题边界,而不是万能解药。











