不能直接生效,必须同时配置 trusted-host,否则 https 校验失败导致静默回退至官方源;仅设 index-url 不完整,需补 pip config set global.trusted-host 域名(如 pypi.tuna.tsinghua.edu.cn),且域名须与 url 中完全一致、不带协议和路径。

pip config set global.index-url 能直接生效吗
能,但必须配合 trusted-host,否则 HTTPS 校验失败,报错 Could not fetch URL 或静默退回到官方源。命令本身不报错,但配置不完整就等于没配。
-
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple只设了源地址,缺trusted-host会失效 - 必须补上:
pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn -
阿里云同理:先设
https://mirrors.aliyun.com/pypi/simple/,再设mirrors.aliyun.com - 注意域名要完全一致——
mirrors.aliyun.com≠https://mirrors.aliyun.com,只写后者会报错
手动改 pip.ini / pip.conf 文件更可靠吗
更可控,尤其当你发现 pip config list 输出为空、或命令设置后不生效时,说明配置没落盘,直接编辑文件反而一目了然。
- Windows 路径:
%APPDATA%\pip\pip.ini(例如C:\Users\yourname\AppData\Roaming\pip\pip.ini) - macOS/Linux 路径:
$HOME/.pip/pip.conf - 内容必须严格如下(无空行、无注释、无多余空格):
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple/ trusted-host = pypi.tuna.tsinghua.edu.cn
少一行、多一个空格、写成 pypi.tuna.tsinghua.edu.cn/(带斜杠)都会导致 pip 忽略整段配置。
换源后 virtualenv 或 conda 环境还走这个源吗
只要没在该环境里单独执行过 pip config set,就继承当前用户的配置——这点常被忽略。
- 你在 base 环境用
pip config set global.index-url,所有未覆盖配置的虚拟环境都生效 - 但如果你进到某个
venv里又运行了一次pip config set global.index-url,那这个配置只对那个 venv 生效 - 检查实际生效源:
pip config list;查配置来源:pip config debug(它会列出所有读取的配置文件路径) - conda 环境里用
pip install时,依然走 pip 配置,和 conda 自己的conda config --add channels无关
清华源和阿里云源选哪个更稳
两者都稳定,但细节影响体验:清华源同步快、文档全;阿里云 CDN 覆盖广、ECS 内网直连更快。选错主要不是“不能用”,而是“某些包延迟出现”或“偶尔 404”。
- 清华源地址必须是
https://pypi.tuna.tsinghua.edu.cn/simple/(结尾/simple/不可省) - 阿里云地址是
https://mirrors.aliyun.com/pypi/simple/,别漏掉中间的pypi路径 - 如果装包时提示
404 Not Found,八成是index-url少了/simple/,或者trusted-host域名拼错了 - 不用纠结“永久”是否真永久——配置文件一旦存在且格式正确,除非你删它或覆盖它,否则一直生效











