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

为何配置update-alternatives后仍无法修改Python默认版本?

原因分析
  • update-alternatives仅管理/usr/bin/python这个系统级符号链接的指向,你的实际执行的python命令优先级更高的来源覆盖了这个配置,常见优先级顺序为:shell命令别名 > PATH路径中靠前位置的可执行文件 > /usr/bin下的系统可执行文件。
  • 操作完update-alternatives后未重启shell或刷新命令缓存,shell仍沿用之前缓存的Python路径。
  • 系统存在虚拟环境(如conda)、用户本地安装的Python版本,其路径在PATH中优先级高于/usr/bin。
排查与解决步骤
  1. 先确认当前python命令的实际路径,执行:
    which python
    • 如果输出路径不是/usr/bin/python,说明是PATH优先级问题:
      • 若路径为~/.local/bin/python等用户级路径,可直接删除该路径下的python软链接,或者调整PATH优先级,在shell配置文件(~/.bashrc对应Bash、~/.zshrc对应Zsh)末尾添加export PATH=/usr/bin:$PATH,执行source 对应配置文件路径生效。
      • 若路径为conda/anaconda等虚拟环境的Python路径,退出当前虚拟环境即可;若要关闭conda默认激活base环境,执行conda config --set auto_activate_base false。
  2. 检查是否设置了python别名,执行:
    alias | grep python
    如果输出存在alias python='xxx/python3.8'类内容,删除shell配置文件中对应的别名配置,再source生效。
  3. 刷新shell命令缓存,执行hash -r清除已缓存的命令路径,再执行python --version验证版本。
  4. 若以上操作无效,手动确认/usr/bin/python的指向:执行ls -l /usr/bin/python,如果软链目标不是/etc/alternatives/python,执行命令手动修改:
    sudo ln -sf /etc/alternatives/python /usr/bin/python

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:39:03