conda config --add channels 默认将源添加到列表末尾,而非最前面;conda 按 channels 从上到下顺序查找包,因此必须先执行 conda config --remove-key channels 清空原有配置,再按优先级依次添加清华镜像源(如 main、conda-forge 等),并设置 show_channel_urls: yes 以确保生效。

conda config --add channels 会把源加到最前面吗?
不会。默认是加到列表末尾,而 Conda 查找包时是从 channels 列表**从上到下**依次匹配的。如果你只用 conda config --add channels 加清华源,但没删掉 defaults,那 Conda 还是先去国外的 defaults 源找,找不到才 fallback 到清华源——等于白配。
正确做法是:先删掉默认源,再按优先级顺序显式添加国内源:
- 运行
conda config --remove-key channels清空原有配置 - 再逐条执行(顺序不能错):
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/r/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - 最后加一句:
conda config --set show_channel_urls yes,方便后续排查包从哪下载
为什么 conda install 还卡在 “Solving environment”?
这不是下载慢,是依赖解析卡住。Conda 的 SAT 求解器要读取每个 channel 的 repodata.json 文件做版本兼容判断。如果某个源响应慢或返回不全(比如旧版清华源缺 pkgs/free),求解器就会超时或死循环。
2026 年起,清华镜像已停用 /pkgs/free 路径,且 main 和 conda-forge 已覆盖绝大多数包。务必确认你没残留以下过时配置:
- 删掉所有含
/pkgs/free的行(如https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/) - 避免混用
defaults和清华源——二者冲突概率高,尤其在安装pytorch或tensorflow时 - 执行
conda clean -i清掉本地缓存的旧repodata.json,否则它可能还在读失效索引
conda-forge 包必须走清华的 conda-forge 镜像吗?
必须。直接写 conda-forge 这个 channel 名,默认仍会走官方境外地址。清华镜像对 conda-forge 是独立同步的,路径必须显式指定为 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/。
常见翻车点:
- 只配了
main源,没配conda-forge镜像 → 安装scikit-learn等包时仍慢 - 误写成
https://mirrors.tuna.tsinghua.edu.cn/conda-forge/(少了一级路径)→ 返回 404,Conda 降级回默认源 - 用
conda install -c conda-forge xxx临时指定 channel → 绕过了你的镜像配置,依然走境外
换源后 pip install 还是慢,怎么办?
Conda 和 pip 是两套系统。你改了 Conda 的源,不影响 pip。PyCharm 或命令行里用 pip install,默认还是走 PyPI 官方源。
单独给 pip 换源(清华 pip 源):
- Windows:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple - macOS/Linux:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple - 验证:
pip config list看输出是否含tuna.tsinghua.edu.cn
注意:某些项目用 environment.yml + conda env create 时,若里面写了 pip: 段,那 pip 部分仍需单独配源,Conda 不会自动透传。











