正确写法是在$HOME/.pip/pip.conf(Linux/macOS)或%APPDATA%\pip\pip.ini(Windows)中添加[global]节,包含index-url和trusted-host;必须加trusted-host否则pip拒绝连接清华源;配置后用pip install -v验证是否生效。

pip全局配置清华源的正确写法
直接改pip.conf(Linux/macOS)或pip.ini(Windows)最稳,不依赖环境变量或每次加--index-url,也比pip config set更可靠——后者在某些Python版本或虚拟环境中会写错位置或权限失败。
常见错误是把配置文件放错目录、没加[global]节、或者用了带空格的路径导致解析失败。
- Linux/macOS:在
$HOME/.pip/pip.conf里写(目录不存在就手动创建) - Windows:在
%APPDATA%\pip\pip.ini里写(注意%APPDATA%通常是C:\Users\用户名\AppData\Roaming) - 内容必须包含
[global]开头,且index-url后不能有多余空格或注释
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple/ trusted-host = pypi.tuna.tsinghua.edu.cn
为什么必须加trusted-host
新版pip默认只信任https://pypi.org和https://pypi.python.org,访问清华源会报Could not fetch URL ... There was a problem confirming the ssl certificate——不是证书问题,是pip主动拒绝非白名单域名。
trusted-host不是可选项,是强制要求。漏写会导致所有安装命令静默失败或回退到官方源(取决于pip版本)。
立即学习“Python免费学习笔记(深入)”;
- 必须和
index-url在同一节(即[global]下) - 值只需写域名,不要带
https://或路径 - 如果还配了其他镜像(比如豆瓣源),每个都要单独列一行
trusted-host
验证配置是否生效
别只看pip install xxx有没有报错,要确认它真正在用清华源。最直接的方法是加-v参数看日志:
pip install -v requests | grep "Looking in indexes"
输出里应该出现Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/。如果还是显示https://pypi.org/simple/,说明配置文件没被读到,大概率是路径不对或文件名拼错了(比如写成pip.config或pip.conf.bak)。
- 用
pip config list -v可以查pip实际加载了哪些配置文件(但部分旧版pip不支持该命令) - 临时测试可用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ requests,成功了说明源本身没问题,问题出在配置环节
虚拟环境里要不要重新配
不用。pip全局配置对所有Python环境都生效,包括venv、conda、pyenv下的环境——只要它们调用的是你系统里那个pip(而不是自带的独立pip)。但要注意:某些IDE(如PyCharm)会自己管理pip源,在设置里覆盖掉全局配置,这时候得去IDE里关掉“Builtin package manager”或清空它的源地址。
- Conda用户慎用:
conda install pip后,conda可能把pip配置重定向到自己的源,此时清华源配置会被忽略 - 多Python版本共存时(如pyenv),确保
which pip指向的是你改了配置的那个Python对应的pip - 如果某次安装突然变慢或报SSL错误,先检查
pip --version输出的pip路径,再确认该pip是否读取了你写的配置文件
pip install -v一眼看到底。










