起因

一天,我要装一个新的比较大的Python库,看着别人写的教程,先升级一下pip。他写的是:

pip install --upgrade pip

没有认真思考,头脑一热,复制粘贴执行,悲剧发生了。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

问题

执行该命令后,装了几个文件后,马上报出权限不足问题。这时我一想,这条命令当然有问题:
使用pip自己更新自己,那么在替换某些正在使用中的文件(如pip3.exe)时必然被拒绝访问!
此时,执行pippip3均无效,where pip无返回值。
 升级pip的错误姿势、补救方法与正确姿势 Python

补救

此时已经无法用python -m pip来重新安装pip了,因为已经没有pip这个模块了。难道只能重装Python?那我的那些装好的库又白装了呗?
其实,Python为我们保留了一个救急脚本来应对pip丢失的情况,执行:

python -m ensurepip

你就会发现,pip它回来了!

正确姿势

在修复了pip后,终于可以执行正确的pip升级命令:

python -m pip install --upgrade pip

总结

  • 不要用pip install --upgrade pip升级pip
  • 使用python -m pip install --upgrade pip升级pip
  • pip丢失时使用python -m ensurepip修复
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄