众所周知在 Linux 上我应该使用 python2.x但是,为了充分利用该语言的最新功能,我还想拥有并使用新版本的 Python。这样我的机器上就有两个版本的 Python。我的系统是否需要任何“中间”版本的 Python 才能正常运行?
显然有些情况下系统中存在多个旧 Python 版本。最推荐在机器上使用哪些“旧”版本?
答案1
首先,你不应该盲目地在 Linux 上安装 Python 2。如今,许多发行版都不需要它,只是为了兼容性原因而安装它。如果操作系统预装了它,请保留它,否则,除非你有一些软件确实需要它,否则不要特意安装它。有些 Linux 系统甚至不再默认安装它(例如 Arch)。
除此之外,正如评论中所建议的,只安装你实际需要的版本需要换句话说,如果您没有使用 Python 版本 XY 的软件,并且操作系统没有自动安装它,请不要在您的系统上安装它。不过,这个建议一般适用于几乎所有编程语言。代码越多,攻击者利用漏洞的可能性就越大。
结合这个建议,我们来看一下真实案例:
在我的 Gentoo 系统上,我目前有 Python 2.7、3.6 和 3.7。
- 我需要 Python 2.7,因为我有几个包需要 AsciiDoc 作为文档,而这只适用于 Python 2.7。
- 我需要 Python 3.6,因为这是我的系统上几乎所有其他代码支持的主要版本(事实上,目前 Gentoo 中大多数 Python 相关软件包都支持该版本)。
- 我需要 Python 3.7 来进行新的开发工作和测试目的。
理论上我也可以在这些系统上安装 Python 3.4 和 3.5,但我没有这样做,因为我身上根本没有需要它们其中任何一个的软件。