pip换源
以下用 python -m pip 操作目标 Python 环境。多环境并存时,先确认解释器:
python -m pip --version
1. 临时换源
只为本次安装指定主索引:
python -m pip install requests --index-url https://pypi.tuna.tsinghua.edu.cn/simple
不会因此修改持久配置;若已有 extra-index-url,额外索引仍可能参与查找。
2. 永久换源
2.1 先查看实际配置位置
python -m pip config debug
pip 可能同时读取系统、用户和虚拟环境配置。常见用户配置路径包括:
- Linux:
~/.config/pip/pip.conf;~/.pip/pip.conf是兼容旧版的路径。 - Windows:
%APPDATA%\pip\pip.ini。 - macOS:可能使用
~/Library/Application Support/pip/pip.conf,也可能使用 XDG 路径,以config debug结果为准。
不要仅凭文件名判断当前生效的是哪一层。
2.2 使用命令修改用户配置
python -m pip config --user set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
这里的 global.index-url 表示配置文件中 [global] 节的选项;--user 才是在指定写入用户级配置,不代表修改系统全局配置。
手动编辑时,将以下选项合并到已有 [global] 节中,不要覆盖整个文件或重复添加同名节:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
3. 重置镜像源
只删除前面写入的用户级主索引配置:
python -m pip config --user unset global.index-url
如果该选项原本不存在,命令可能提示没有这个键。删除它并不保证所有环境立即恢复到 PyPI:虚拟环境配置、其他用户配置路径、PIP_INDEX_URL、PIP_CONFIG_FILE 及 extra-index-url 等都可能仍然起作用。
需要在当前命令中显式指定官方主索引,可以使用:
python -m pip install requests --index-url https://pypi.org/simple
这同样不等于关闭其他已配置的额外索引。
4. 验证和测试
python -m pip config debug
python -m pip config list
python -m pip index versions requests
配置优先级通常是:命令行参数高于环境变量,环境变量高于配置文件;配置文件内部的具体命令节还可以覆盖 [global]。排查时应同时核对来源与最终选项,而不是只反复修改一个 pip.ini。
5. 常用源地址
| 来源 | 主索引地址 |
|---|---|
| PyPI 官方 | https://pypi.org/simple |
| 清华 TUNA | https://pypi.tuna.tsinghua.edu.cn/simple |
镜像可能有同步延迟。专用 PyTorch XPU/CUDA wheel 仓库是另一类索引,应按对应项目的安装说明选择,不能简单用普通 PyPI 镜像替代。
6. HTTPS 证书问题
出现证书校验错误时,先检查系统时间、代理证书和证书链。--trusted-host 会允许所指定的主机在 HTTPS 证书无效或没有 HTTPS 时继续访问,不能当作所有镜像报错的通用修复。
如网络环境需要组织提供的 CA,应使用经过确认的 CA 证书文件,并通过 pip 的 --cert 等受支持方式配置;不要把示例中的任意主机加入永久信任列表。
7. 设置本地代理
下面是当前命令使用本机 HTTP 代理的示例,端口按实际代理软件设置:
python -m pip install requests --proxy http://127.0.0.1:7890
需要持久设置时,在已有 [global] 节合并:
[global]
proxy = http://127.0.0.1:7890
只有代理实际要求认证时才增加用户名和密码;不要把带凭证的配置贴入公开日志。
评论将在接近此处时加载,也可点击立即加载。