运行 python -m ensurepip --upgrade --default-pip 可重建 pip.exe;若报 No module named ensurepip,则需离线下载 get-pip.py 安装;Python 3.12+ 默认不生成 pip.exe,但功能等价;PATH 配置错误或虚拟环境无 pip 也是常见原因。

python -m pip --version 能跑通,但Scripts里没pip.exe
说明 pip 模块已安装,只是可执行引导器(pip.exe)没生成——这在自定义安装、嵌入式 Python、或某些企业精简包中很常见。不是 pip 缺失,而是 Windows 下的命令行入口没被创建。
直接运行以下命令重建:python -m ensurepip --upgrade --default-pip
- 该命令会强制生成
pip.exe、pip3.exe和对应版本号的脚本(如pip3.11.exe) - 无需重装 Python,也不依赖网络(
ensurepip是 Python 标准库自带模块) - 如果报错
No module named ensurepip,说明 Python 安装异常精简,跳到下一节
python -m pip 报错“No module named pip”
这是真·没装 pip,常见于:离线部署的 Python 嵌入版、某些 Linux 发行版的 python3-minimal 包、或手动编译时未启用 ssl 模块(导致 get-pip.py 下载失败)。
优先用离线方式补全:
下载 get-pip.py(官网地址 https://bootstrap.pypa.io/get-pip.py),然后运行:python get-pip.py
- 它会自动安装
pip、setuptools、wheel,并把pip.exe写进 Scripts 目录 - 若下载失败,改用离线 wheel:下载
pip-xx-py3-none-any.whl文件后运行python -m pip install ./pip-xx-py3-none-any.whl - 注意:不要用
python setup.py install,现代 pip 不再支持这种方式,且易出权限/路径错误
Scripts 里只有 pip3.exe 或 pip3.11.exe,没有 pip.exe
这不是 bug,是预期行为——从 Python 3.12 开始,官方安装器默认只生成带版本号的可执行文件(如 pip3.12.exe),不再附带无版本号的 pip.exe。但 pip.exe 仍可通过 ensurepip 手动补上。
验证是否可用:pip3.12 --version 或 python -m pip --version
- 只要这两个能跑,功能完全等价,
pip.exe只是符号链接/副本,非必需 - 若坚持要
pip.exe,再次运行python -m ensurepip --default-pip即可生成 - 别手动复制重命名
pip3.12.exe为pip.exe:Windows 下可能因签名/权限导致 UAC 弹窗或静默失败
环境变量 PATH 没配,或者配了但没生效
即使 pip.exe 存在,PATH 没设对也等于不存在。常见坑点:
立即学习“Python免费学习笔记(深入)”;
- Scripts 目录路径写错:比如把
C:\Python311\Scripts写成C:\Python311\script(少了个 s) - 改完 PATH 后没重启命令行:CMD/PowerShell 不继承新环境变量,必须新开窗口
- 用户变量 vs 系统变量混用:普通用户安装 Python 到
%LOCALAPPDATA%,应加到「用户变量」的 PATH;管理员安装到C:\Python311,才加系统变量 - 路径含空格或中文:虽然 Windows 支持,但某些旧工具链会解析失败,建议 Python 安装路径纯英文、无空格
快速验证:where pip(Windows)或 which pip(WSL/macOS)能列出路径才算真正就位。
最隐蔽的问题其实是:Scripts 目录存在、pip.exe 存在、PATH 也配了,但你正在一个虚拟环境中工作,而该虚拟环境本身没 pip——此时要先进入虚拟环境目录,再运行 python -m ensurepip --upgrade --default-pip,而不是动全局 Python。


















