pip install 超时或缓慢是因默认连接不稳定国外 PyPI 官方源,改用清华或阿里云镜像源并配置当前用户 pip.conf 可永久加速,注意 trusted-host 须与 index-url 域名一致且以 /simple/ 结尾。

pip install 为什么总超时或慢得像爬虫
因为默认走的是 PyPI 官方源 https://pypi.org/simple/,国内直连不稳定,DNS 解析慢、连接经常中断,pip install 卡在 “Collecting …” 就是典型表现。
临时加 -i 参数能绕过,但每次敲命令都写一遍不现实;改配置文件才是永久解法。关键不是“能不能换”,而是“换完会不会影响其他环境”。
- 全局配置(所有用户)写进
/etc/pip.conf(Linux/macOS)或%PROGRAMDATA%\pip\pip.ini(Windows) - 当前用户配置更安全,路径是
$HOME/.pip/pip.conf(Linux/macOS)或%APPDATA%\pip\pip.ini(Windows) - 优先级:当前用户 > 全局 > 命令行参数,推荐只动当前用户配置,避免污染系统或其他虚拟环境
清华源和阿里云源怎么选,配置格式有啥区别
两个源都稳定,但细节不同:https://pypi.tuna.tsinghua.edu.cn/simple/ 是清华主站,https://mirrors.aliyun.com/pypi/simple/ 是阿里云镜像。它们都不需要认证,但必须以 /simple/ 结尾,少这个后缀会报 404 Not Found 或直接退回到官方源。
配置内容极简,不要加空格、注释或多余换行,否则 pip 会静默忽略整段:
立即学习“Python免费学习笔记(深入)”;
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple/ trusted-host = pypi.tuna.tsinghua.edu.cn
如果用阿里云源,把两行里的 pypi.tuna.tsinghua.edu.cn 全换成 mirrors.aliyun.com 即可。注意 trusted-host 必须和 index-url 域名一致,否则 HTTPS 证书校验失败,报错 Could not fetch URL ... There was a problem confirming the ssl certificate。
virtualenv 或 conda 环境里 pip 源还生效吗
生效,但有条件:只要没在该环境下单独配置过 pip 配置文件,就继承当前用户的配置。容易踩的坑是——有人在虚拟环境中执行了 pip config set global.index-url ...,结果只改了该环境的配置,切出去就失效。
- 检查当前生效配置:运行
pip config list,看输出里有没有global.index-url - 查配置来源:用
pip config debug,它会列出所有被读取的配置文件路径及优先级 - conda 环境默认用 conda 自己的包管理,但如果你用
pip install装非 conda 包,依然走 pip 的配置
换源后 pip search 报错或返回空,正常吗
正常。pip search 早在 pip 10.0 就被官方禁用了,因为后端服务下线,现在所有镜像源都不支持这个命令。这不是你配错了,是功能本身没了。别折腾修复,改用 pip show <包名> 查已装包,或直接去 https://pypi.org/project/<包名>/ 页面搜。
另一个常见现象:换源后 pip install 第一次仍慢,是因为 pip 会缓存索引,下次才明显快。如果某次安装突然又卡住,先 pip cache info 看缓存位置,再 pip cache purge 清一下,比怀疑配置更有效。
最易被忽略的一点:某些公司内网会劫持 DNS 或强制代理,即使你配了清华源,请求也可能被重定向到内部镜像——这时要确认 pip install -v requests 输出里实际请求的 URL 是不是你写的那个地址。










