You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何卸载源码安装的Python 修复Ubuntu默认Python版本异常

Ubuntu 22.04升级后默认Python版本为3.8问题排查与解决

问题现象

升级系统到Ubuntu 22.04后,默认Python版本仍为3.8,而非该版本系统自带的Python 3.10。初步检查确认系统内已经安装Python 3.9、3.10版本,排查多日未找到Python 3.8被配置为默认版本的位置。

问题更新:问题已解决
此前通过源码方式将Python安装到了/usr/local/bin目录,系统PATH优先级会优先读取该目录下的版本,忽略了/usr/bin目录下的系统更新Python版本,删除local目录下的对应Python文件后,系统已恢复正常运行。


排查命令与输出

  • 执行版本切换命令sudo update-alternatives --config python,输出如下:
update-alternatives: error: no alternatives for python
  • 查看/usr/bin目录下所有Python相关文件,执行ls /usr/bin/python*,输出如下:
/usr/bin/python     
/usr/bin/python3.10  
/usr/bin/python3-config
/usr/bin/python2    
/usr/bin/python3.10-config  
/usr/bin/python3-futurize
/usr/bin/python2.7  
/usr/bin/python3.9          
/usr/bin/python3-pasteurize
/usr/bin/python3    
/usr/bin/python3.9-config
  • 查看当前python3命令的指向路径,执行which python3,输出路径指向local目录,而非存放系统Python版本的/usr/bin目录:
/usr/local/bin/python3
  • 查看当前默认Python3版本,执行*python3 --version*,输出如下:
Python 3.8.0
  • 确认系统版本,执行*lsb_release -a*,输出如下:
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04 LTS
Release:    22.04
Codename:   jammy

根因说明

  • Ubuntu默认PATH环境变量优先级中,/usr/local/bin排序高于/usr/bin,手动源码编译安装的软件默认会部署到/usr/local/bin路径下,会优先于系统自带同名程序被调用。
  • 此前手动源码安装Python 3.8时未自定义安装路径,导致该版本成为默认调用的Python3;由于该版本未通过apt安装,也没有注册到update-alternatives管理列表,因此执行版本切换命令时会提示无可用备选项。

修复步骤

  • 先将/usr/local/bin下的Python相关文件移动到备份目录,避免直接删除导致异常:
    sudo mkdir -p ~/python_backup && sudo mv /usr/local/bin/python* ~/python_backup/
  • 重新打开终端,执行which python3确认路径指向/usr/bin/python3,再执行python3 --version确认版本为Python 3.10即修复完成。
  • 后续如果需要切换多Python版本,可通过update-alternatives注册系统已安装的Python版本后统一管理,不要直接将源码编译的Python安装到默认全局路径覆盖系统版本。

内容的提问来源于stack exchange,提问作者TheCook

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.31 00:51:24