将pip3从9.0.1升级至9.0.3时出错,求问题排查
解决pip3升级时出现的pkg_resources.DistributionNotFound错误
嘿,我来帮你梳理下问题所在和解决办法~
首先,你手动修改pip3的requires文件是错误的操作,这反而会让依赖关系更混乱。那个文件是pip安装时生成的元数据文件,pkg_resources会依赖它来验证pip自身的版本完整性,你强行把版本改成9.0.3后,系统会找不到对应版本的pip元数据,自然还是会报错。
接下来给你几个靠谱的解决步骤,按顺序尝试:
方法1:用Python内置的ensurepip修复并升级
Python自带了ensurepip模块,专门用来修复或安装pip,它能绕过当前损坏的pip环境。执行这条命令:
python3 -m ensurepip --upgrade
这条命令会重新安装pip,并升级到与你的Python版本兼容的最新稳定版。如果一定要安装9.0.3版本,等这条命令执行成功后,再运行:
python3 -m pip install pip==9.0.3
方法2:用官方get-pip.py脚本重新安装
如果ensurepip不起作用,可以用官方的安装脚本:
- 先获取
get-pip.py脚本(你可以从Python官方的pip项目仓库获取这个脚本) - 执行以下命令安装指定版本的pip:
python3 get-pip.py pip==9.0.3
为什么你之前的操作没用?
当你执行pip3 install -U pip时,原来的pip9.0.1可能已经部分损坏或者被意外移除了,导致pkg_resources找不到它的元数据,进而无法完成升级流程。而手动修改requires文件相当于篡改了pip的依赖声明,系统的包管理工具会认为当前环境的pip版本不合法,所以依然报错。
内容的提问来源于stack exchange,提问作者user8577983
相关产品推荐
相关产品推荐

