升级pip后pip、sudo命令均提示无法识别该如何解决
- 从报错信息判断你当前使用的是Windows系统的PowerShell终端,网上搜到的带
sudo、apt的修复命令是Debian/Ubuntu系Linux的专属命令,Windows环境没有内置这些程序,执行必然报错,这类方案直接跳过即可。 - pip升级时触发了Windows下的经典路径问题:旧版pip的可执行文件被卸载程序删除,但新版pip的所在路径没有被正确加入系统环境变量,或是升级时权限不足导致pip.exe没有被正确生成,最终终端找不到pip命令。
1. 绕过失效的pip命令,直接通过Python模块调用pip
只要Python本身的路径配置正常,就可以用python -m pip的形式直接调用pip模块,完全不需要依赖pip.exe的路径配置。
先在终端执行命令确认Python可正常识别:
python --version
正常返回版本号的话,先执行Python内置的pip修复命令,补全缺失的pip基础文件:
python -m ensurepip --upgrade
执行完成后,强制重装最新版pip,修复可执行文件和路径关联:
python -m pip install --upgrade pip --force-reinstall
如果执行
python --version也提示命令不存在,说明Python的安装路径也从环境变量中丢失了。先手动找到Python安装目录,默认路径通常为C:\Users\你的当前用户名\AppData\Local\Programs\Python\Python3x\(x为你安装的Python具体次版本号),将该目录、以及目录下的Scripts子文件夹路径,添加到系统环境变量的Path条目下,保存后重启终端再执行上述命令。
2. 验证修复结果
命令执行完成后,完全关闭当前终端再重新打开(环境变量变更需要重启终端才能生效),执行下述命令验证:
pip --version
如果终端正常返回pip版本、绑定的Python版本、安装路径三个信息,说明修复完成,可以正常使用pip安装第三方包。
3. 后续避坑
Windows环境下不要直接执行pip install --upgrade pip升级pip,很容易复现这次的路径丢失问题,后续升级统一用模块调用的方式执行:
python -m pip install --upgrade pip
如果系统中安装了多个Python版本,调用时可以用py -版本号指定对应版本,比如给Python3.10升级pip就执行py -3.10 -m pip install --upgrade pip,避免pip被装到错误的版本目录下。
内容的提问来源于stack exchange,提问作者user19260476

