kali linux中可通过update-alternatives安全切换python 2/3版本:先注册python2.7和python3.x,设优先级,再用--config手动选择;临时切换可用alias;切换后需验证python --version及python -m pip --version,并用ensurepip安装对应pip。

在Kali Linux中运行老版渗透工具(如旧版wpscan、impacket)时,常因调用python命令却执行Python 3而报错SyntaxError或ModuleNotFoundError;而开发新脚本又需要python指向Python 3以使用f-string和类型提示——这不是非此即彼的选择题,而是必须让两个版本共存且可按需切换的实操问题。
确认当前环境与可用版本
先查清系统里到底装了哪些Python解释器,避免后续操作指向不存在的路径:
执行ls /usr/bin/python*,观察输出中是否包含python2、python2.7、python3、python3.x(如python3.11)等可执行文件。
运行python --version和python3 --version,记录当前python软链接实际指向哪个版本。
【关键前提】若/usr/bin/python不存在或损坏,update-alternatives将无法注册该路径——此时必须先修复或重建该链接,否则所有切换操作无效。
用update-alternatives建立安全切换机制
这是Kali官方推荐、影响范围可控的方案,不硬改系统软链接,也不污染全局PATH。
第一步:向alternatives系统注册Python 2和Python 3解释器
依次执行以下两条命令(假设你有python2.7和python3.11):sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 100sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.11 150
第二步:设置优先级数字决定默认选择——数值越大,自动模式下越优先。这里Python 3.11设为150,Python 2.7为100,因此当前python命令会默认调用Python 3.11。
第三步:手动切换版本
运行sudo update-alternatives --config python,终端会列出已注册的所有选项,并提示输入序号选择。选中后立即生效,无需重启终端。
Python 3.14.2是Python编程语言在2025年12月5日发布的稳定版本,属于3.14系列的第二个维护更新。该版本包含了18项修复,重点解决了多进程、数据类及正则表达式等模块的回归问题,并修复了CVE-2025-12084等安全漏洞。此版本标志着自由线程模式(移除GIL)正式获得官方支持,是Python发展的重要里程碑。
注意:该配置只影响/usr/bin/python这一路径,不影响python2、python3、python3.11等明确命名的命令,它们始终可用。
临时切换:用alias快速覆盖当前会话
适合调试单个脚本或临时测试,不写入系统配置,关闭终端即失效。
方法一:让当前终端的python指向Python 2
执行alias python='/usr/bin/python2.7',然后验证python --version是否已变。
方法二:恢复为Python 3(取消别名)
执行unalias python,或直接新开一个终端窗口。
这一步操作起来很简单,直接把命令敲进去回车就行,但别忘了它只在当前Shell生命周期内有效。
验证切换结果与pip兼容性
切换完成后,必须验证两件事:
① python --version输出是否为你选定的版本;
② python -m pip --version是否能正常显示——因为pip是绑定到具体Python解释器的。
如果提示No module named pip,说明该Python版本未安装pip模块,需手动引导:
对Python 2.7:执行python2.7 -m ensurepip --upgrade;
对Python 3.x:执行python3.x -m ensurepip --upgrade(替换x为实际小版本号)。
【易错点】不要运行pip install --upgrade pip来升级pip——这会尝试用当前python解释器安装pip,若当前是Python 2而pip包只支持Python 3,将触发依赖冲突。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










