Ubuntu系统级Python环境下setuptools的正确升级方法(针对CVE-2024-6345漏洞)
Ubuntu系统级Python环境下setuptools的正确升级方法(针对CVE-2024-6345漏洞)
我明白你现在因为AWS Inspector报的CVE-2024-6345漏洞犯愁,要给系统级的Python升级setuptools到70.0以上对吧?别担心,咱们一步步来,确保操作安全不搞乱系统依赖。
第一步:先确认当前系统级setuptools版本
先搞清楚现在装的是啥版本,避免白忙活,在终端跑这个命令:
pip3 show setuptools
或者更直接的:
python3 -m setuptools --version
输出里的Version字段就是当前系统级的setuptools版本,如果低于70.0,就继续往下操作。
第二步:执行系统级升级命令
用这个命令就能安全升级到符合要求的版本(至少70.0):
sudo -H pip3 install --upgrade setuptools>=70.0
这里给你解释下为啥这么写:
sudo:因为要修改系统级的Python包,需要管理员权限-H:强制sudo保留当前用户的HOME环境变量,避免升级时出现权限相关的报错(比如无法写入缓存目录)>=70.0:确保安装的是70.0或更高的修复版本,不用手动写具体的小版本号,pip会自动拉最新的稳定版
第三步:验证升级结果
升级完成后,再跑一遍pip3 show setuptools,看看Version字段是不是已经到70.0以上了,比如70.0.0、70.1.0都是没问题的。
关键注意事项
- 除非升级后确实遇到了版本不兼容的问题,否则别加
--force-reinstall参数,强制重装可能会破坏系统里依赖setuptools的其他工具(比如apt相关的Python脚本) - 如果升级后系统工具出现异常,可以用Ubuntu官方包来恢复系统默认的setuptools版本,命令是:
不过要注意,官方源里的python3-setuptools版本可能暂时还没更新到70.0,所以这只是出问题时的回滚方案sudo apt install --reinstall python3-setuptools - 如果你自己装了其他Python环境(比如pyenv、conda),要确保你用的是系统级的pip3,跑
which pip3,输出应该是/usr/bin/pip3,而不是用户目录(比如~/.local/bin/pip3)下的,那才是系统级的工具
备注:内容来源于stack exchange,提问作者Max Koretskyi
相关产品推荐
相关产品推荐

