You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 24.04 回退至 Python 3.10 及多版本管理方案咨询

Ubuntu 24.04 回退至 Python 3.10 及多版本管理方案咨询

嗨,我来帮你梳理下这个问题~ 先解决你安装Python3.10失败的困扰,再逐一解答你关心的两个核心疑问:

一、先搞定Python3.10的安装问题

你执行安装命令时出现的E: Package 'python3.10' has no installation candidate,是因为Ubuntu 24.04的默认软件源已经移除了Python3.10的包。要安装它,得先添加专门提供旧版本Python的第三方PPA(deadsnakes),步骤很简单:

  1. 先安装添加PPA所需的工具包:
sudo apt update && sudo apt install software-properties-common
  1. 添加deadsnakes的PPA源:
sudo add-apt-repository ppa:deadsnakes/ppa
  1. 再次更新源,然后安装Python3.10:
sudo apt update && sudo apt install python3.10

这样就能成功安装上Python3.10了。

二、回退Python3.10 vs 用3.12+虚拟环境?更推荐后者

其实更建议你适应Python3.12+虚拟环境的组合,原因有这几点:

  • Python3.12是Ubuntu 24.04的系统默认版本,系统里很多内置工具(比如apt相关脚本、系统配置工具)都依赖它,强行把系统默认Python改成3.10,很可能导致系统异常,甚至某些核心功能无法使用。
  • 虚拟环境是Python生态里公认的项目隔离方案,能让不同项目使用各自需要的Python版本和依赖包,完全不会互相干扰。你可以给需要用3.10的旧项目单独创建虚拟环境,其他新项目用3.12,这样既兼顾兼容性,又能保证系统稳定性。

如果你的旧项目确实必须依赖Python3.10,那安装3.10来单独使用是没问题的,但千万别把它设为系统全局默认。

三、update-alternatives适合多版本管理吗?当然可以,但要注意边界

用update-alternatives管理多版本完全可行,但一定要区分系统级Python用户自用Python

  • 系统的python3命令(指向/usr/bin/python3)请保持默认的3.12,绝对不要修改,避免破坏系统依赖。

  • 你可以用update-alternatives来管理自己日常使用的Python版本,比如给用户级的python3命令设置可选版本:

    1. 先把Python3.10和3.12注册到alternatives:
    sudo update-alternatives --install /usr/local/bin/python3 python3 /usr/bin/python3.12 1
    sudo update-alternatives --install /usr/local/bin/python3 python3 /usr/bin/python3.10 2
    

    这里的数字是优先级,数字越大优先级越高。
    2. 需要切换版本时执行:

    sudo update-alternatives --config python3
    

    然后按提示输入对应编号就能切换。

    不过更简单的方式是直接用python3.10python3.12命令来调用指定版本,这样更直观,也完全不会影响系统默认的Python。

总结一下:优先用3.12+虚拟环境的组合,真需要3.10就通过deadsnakes安装,用update-alternatives或直接指定版本调用,别碰系统默认的Python3.12就好~

备注:内容来源于stack exchange,提问作者Meenohara

火山引擎 最新活动