解决 pip 安装慢的问题:国内镜像源加速指南
问题的根源:为什么 pip 下载慢?
用 pip 装包时经常卡在下载,有时候直接超时失败。原因是 pip 默认走官方源,服务器在国外,国内访问本来就慢。最直接的办法就是把源换成国内镜像。
以下是记录两种设置 pip 镜像源的方法:一种是临时的,一种是永久的。
方法一:临时使用镜像源
如果只是临时需要给某个包装个速,可以直接用这个方法临时修改,仅针对当次生效。不会修改 pip 的默认配置,只需要在安装命令后面加上 -i 或 --index-url 参数,指定本次安装使用的镜像源地址就行,但其实还是亿点麻烦,我不单止要加参数,还需要记住镜像服务的地址……
示例
比如,我想用清华大学的镜像源来安装 requests 这个包,命令就可以这么写:
1 | |
常用国内镜像源
- CERNET 教育网联合镜像站(推荐): https://mirrors.cernet.edu.cn/pypi/web/simple
- 帮你跳到最快的那个,TUNA、USTC、南科大等都参与同步
- 清华大学: https://pypi.tuna.tsinghua.edu.cn/simple/
- 阿里云: https://mirrors.aliyun.com/pypi/simple/
- 腾讯云: https://mirrors.cloud.tencent.com/pypi/simple/
- 中国科学技术大学: https://mirrors.ustc.edu.cn/pypi/simple/
- 华为云: https://repo.huaweicloud.com/repository/pypi/simple/
临时回退到官方源
镜像同步有延迟,某个包要最新版时强制走官方:
1 | |
方法二:永久配置镜像源
每次安装都手动加参数太麻烦,自己的开发环境还是一次性配好省事。
方式 A:用 pip config 命令(推荐)
pip 10+ 可用,先升级再设:
1 | |
镜像地址换成上面任一个都行,配置文件位置 pip 自己处理(Win %APPDATA%\pip\pip.ini,Mac/Linux ~/.config/pip/pip.conf)。
方式 B:手改配置文件
1. 找到配置文件路径
pip 的配置文件位置根据操作系统的不同而不同:
- Windows: 在文件资源管理器的地址栏输入
%APPDATA%\pip,然后在这个文件夹里创建一个pip.ini文件。 - macOS / Linux: 配置文件路径是
~/.config/pip/pip.conf。如果~/.config/pip目录或pip.conf文件不存在,需要手动创建。
2. 修改或创建配置文件
用文本编辑器打开这个配置文件(没有就新建一个),地址填上面列表里任一个:
1 | |
3. 保存并验证
保存后就永久生效,之后 pip install 都走配置好的镜像,会快不少。
可以随便装个小包测试一下效果,比如:
1 | |
明显变快就是配好了。
查看当前生效的源
装完跑一下确认生效:
1 | |
会列出 global.index-url 等当前值。要临时绕开永久配置,命令里加 -i https://pypi.org/simple 就行。
用 uv 的人单独配一下
如果你是用 uv 装包(一个更快的 pip 替代品,这两年越来越多人用),上面方法二的配置对 uv 不生效。
uv 不读 ~/.pip/pip.conf,也不读 ~/.config/pip/pip.conf,有自己的配置文件 ~/.config/uv/uv.toml,而且是 TOML 格式:
1 | |
注意是双中括号 [[index]],单中括号 [index] 会报 invalid type: map, expected a sequence。
写完跑 uv pip install --reinstall requests -v 验证一下,输出里出现 mirrors.cernet.edu.cn 就是通了。看到 pypi.org 或 files.pythonhosted.org 说明没走配置。
总结
- 临时使用: 临时环境或者偶尔加速,加个
-i就行。 - 永久配置: 自己的开发环境首选,配一次后面都不用管。