Ubuntu发布是否“固定”了特定的Python次要版本(例如3.9)?

1个回答

你的理解是准确的。
Ubuntu的发布在整个Ubuntu版本的生命周期中都使用相同的Python 3.x版本。Ubuntu 18.04(Bionic)将确实一直使用Python 3.6,直到Bionic在2028年达到EOL。
  • Ubuntu 20.04 = Python 3.8
  • Ubuntu 22.04 = Python 3.10
在Ubuntu版本的生命周期中坚持使用单个版本是基于Debian的发行版工作了20多年的方式:除了一些例外情况,所有软件都使用一个共同的依赖集。只有不会破坏这个共同集合的安全补丁和错误修复才会在发布后推送。新版本往往会破坏这个共同的依赖集,因此新版本等待下一个发布。这就是Ubuntu每六个月发布一次的原因之一。
许多发行版,包括Ubuntu,在内部使用大量的Python。更改Python版本可能会导致问题。例如:这个网站上有很多人因为更改Python版本而破坏了apt。

4非常好:“泪水浸透”!没有人应该在Ubuntu(以及大多数其他发行版)中玩弄Python版本。 - kanehekili
非常有见地 +1。我能以某种方式查看我的系统中哪个版本的Python或任何软件包被固定了吗? - Jos
1“Pin”这个词实际上有一个与您使用不同的定义,这就是为什么我没有使用该术语的原因。Apt可以愉快地告诉您在Ubuntu版本中安装了任何特定软件包的版本。请参阅man apt-cache以获取有关版本信息的大量信息。 - user535733
1@user535733 你不需要使用 apt-cache,你可以直接使用 apt 命令,比如 apt show python3,然后查看 "Version" 行。 - wjandrea
@user535733 很酷,看起来这里有隐式文档记录:https://wiki.ubuntu.com/StableReleaseUpdates - wjandrea
值得注意的是,Ubuntu(遵循Debian的惯例)实际上更进一步,对于任何给定的发行版版本,都坚持只发布一个补丁版本。18.04仍然使用3.6.5版本(加上安全补丁),而不是最新的3.6版本,我相信最新版本应该是3.6.15。 - James_pic