应执行python -m ensurepip --default-pip --upgrade重建pip;若权限不足则加--user;手动编译Python时需配置./configure --with-ensurepip=install。

直接用 python -m ensurepip 重建,别碰 get-pip.py —— 它在缺失 _ensurepip 的环境里大概率失败。
确认 pip 是真损坏,还是根本没装上
很多所谓“pip损坏”,其实是压根没被安装进当前 Python 环境。典型表现是:pip --version 报 'pip' is not recognized 或 ModuleNotFoundError: No module named '_ensurepip'。
- 先运行
python -c "import _ensurepip":报错就说明_ensurepip模块不存在,pip 从未被安装过 - 再运行
python -m pip --version:如果成功,说明 pip 实际可用,只是系统PATH没配对或 shell 缓存了旧路径 - 避免只看
pip --version—— 它可能调的是另一个 Python 版本的 pip,和你当前python不是一回事
用 python -m ensurepip 重建 pip(推荐方案)
这是 Python 官方内置、最干净的修复方式,不依赖网络、不下载外部资源,直接从 Python 安装包内提取组件。
从QuickView趋势笔记生成韩语AI播客包,含双人主持脚本(Callie×Nick)、Gemini多说话人TTS音频、字幕时间轴与渲染修正、缩略图+MP4包装及YouTube标题/描述输出。支持完整版(15~20分钟)和压缩版(5~7分钟)。
- 基础命令:
python -m ensurepip --default-pip --upgrade - 若提示
PermissionError(比如装在/usr/local下),加--user:python -m ensurepip --user --default-pip --upgrade - 执行后务必验证:
python -m pip --version,不是pip --version - 注意:该命令不会覆盖系统级
/usr/bin/pip脚本,它只确保当前python解释器能调用 pip
修复系统级 pip 命令入口(当 which pip 返回系统路径时)
如果你的 which pip 指向 /usr/bin/pip 或 C:\Python311\Scripts\pip.exe,但这个脚本调用时报 ImportError: cannot import name 'main',说明入口函数签名已变(pip ≥10)。
- 不要手动删或改那个文件;运行
python -m pip install --force-reinstall pip,它会自动重写正确的入口脚本 - 若无 root 权限(如 macOS / Ubuntu 系统 Python),放弃修复系统
pip,统一用python -m pip - 检查脚本第一行:
head -n 1 $(which pip),若指向#!/usr/bin/env python,那它绑定的就是当前 shell 的python,而非你预期的版本
哪些操作要避开
有些常见操作看似合理,实则引入新问题:
- 别用
get-pip.py强装:它依赖ssl和zlib,而缺失_ensurepip的环境(如 Alpine 镜像、精简版 Docker)往往也缺这些,会卡在证书或解压环节 - 别用
sudo pip install --upgrade pip升级系统 Python 的 pip:容易导致用户级~/.local/bin/pip和系统级/usr/bin/pip版本错位,反而触发ImportError - 别在多 Python 共存环境下盲目改
PATH:优先用python3.11 -m pip显式指定解释器,比靠环境变量更可靠
真正麻烦的不是 pip 失效本身,而是它背后暴露的 Python 环境混乱——比如多个解释器共存却没隔离、PATH 路径顺序错乱、或系统 Python 被非 root 用户强行升级。修复完 pip,顺手检查 python -c "import sys; print(sys.executable)" 和 which pip 是否指向同一棵树,这点常被忽略。

















