conda install 卡在 Solving environment 本质是依赖解析回溯耗时,非下载慢;清华镜像仅加速下载,不优化求解;可用 --dry-run 判断阶段,优先用 mamba、精简环境或正确配置多级 .condarc 并验证生效。

conda install 为什么卡在 Solving environment
本质不是下载慢,而是 conda 在解析依赖时反复回溯、尝试组合包版本,尤其在环境里已有较多包或指定了模糊版本(比如 numpy 没写 =1.24.3)时,耗时会指数级上升。清华镜像源只加速下载,不解决这个环节。
- 先用
conda install --dry-run <package></package>看是否真卡在 solving 阶段(输出停在 “Collecting package metadata” 后长时间无响应,才是网络问题;停在 “Solving environment” 十几秒以上,大概率是依赖冲突) - 加
-c conda-forge有时能绕过默认 channel 的版本锁死,因为 conda-forge 更新更勤、约束更松 - 实在不行,删掉
environment.yml里非必要包,或改用mamba替代:装完mamba后,所有conda install换成mamba install,求解速度通常快 5–10 倍
清华镜像源配置后 still not working
常见原因是配置了用户级镜像,但当前环境用了 conda activate base 或其他非 root 环境,而镜像设置没生效到该环境的 .condarc。conda 读取配置的优先级是:当前目录 .condarc > 用户主目录 ~/.condarc > 系统级 /etc/condarc,且高优先级文件里的 channels 会完全覆盖低优先级的,不是合并。
- 运行
conda config --show channels,确认输出里包含https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/等清华地址,而不是只有defaults - 如果没看到,执行:
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/(注意顺序,main 应在 free 前) - 再加一句:
conda config --set show_channel_urls true,这样每次conda search或install会打印出实际访问的 URL,方便验证是否走清华源
pip 和 conda 混用导致源失效
清华镜像源只管 conda 包,不管 pip 安装的包。但很多人在 conda 环境里直接跑 pip install,结果发现 torch 这类包还是从 pypi.org 下载——这没错,但容易误以为“镜像没起作用”。更麻烦的是,pip 装的包可能和 conda 装的同名包冲突(比如 conda 装了 numpy 1.23,pip 又装了个 1.25),引发 ImportError 或运行时崩溃。
- 优先用
conda install装科学计算相关包(numpy、scipy、pytorch、tensorflow),它们在清华 conda 源里都有预编译好的 wheel 和 tar.bz2 - 必须用 pip 时,单独配 pip 镜像:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/ - 检查是否混用:运行
conda list | grep -i "pypi\|pip",如果看到来源是pypi的包,就得小心了
Windows 下 conda config 不生效
Windows 用户常遇到 conda config --add channels 执行完,.condarc 文件却没生成在 %USERPROFILE% 下,或者生成了但内容为空/格式错乱。根本原因是 conda 在 Windows 上对路径和权限更敏感,尤其当终端不是以管理员身份运行、或用户目录有中文、空格、符号时。
立即学习“Python免费学习笔记(深入)”;
- 手动创建
%USERPROFILE%\.condarc(比如C:\Users\你的用户名\.condarc),用记事本或 VS Code 写入以下内容(注意缩进是两个空格,不能用 tab):
channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ show_channel_urls: true
conda config --show-sources,确认它列出了你刚写的那个 .condarc 路径清华镜像源本身很稳,但 conda 的配置机制、多环境隔离、pip/conda 边界这些地方,稍不注意就会让“换源”变成“白换”。最常被忽略的是:你以为在 base 环境配好了,其实当前激活的是另一个 env,而那个 env 的 .condarc 是空的。










