安装 python 3.3 后如何删除 python 2.7?

安装 python 3.3 后如何删除 python 2.7?

我已经在 Ubuntu 12.10 上成功安装了 Python 3.3。由于我不需要多个版本的 Python,我想删除现有的 Python 2.7。当我尝试这样做时,使用

sudo apt-get remove python2.7

Ubuntu 警告我,大量系统相关组件也将被删除。这看起来真的很可怕。

那么,有没有办法在不删除系统依赖组件的情况下删除 python 2.7,或者我可以直接让那些依赖项使用 python 3.3?

答案1

你不能。

来自Ubuntu 维基百科 / Python

长期计划(例如 14.04)

将 Python 2 移至 universe,将 main 中的所有 Python 应用程序移植到 Python 3。我们永远不会完全摆脱 Python 2.7,但由于永远不会有 Python 2.8,并且到 14.04 LTS 发布时 Python 2.7 已经有近 4 年的历史了,所以是时候将 Python 2 降级到 universe 了。

这意味着许多基础软件包对 2.7 有很强的依赖性,而且仍然需要花费大量时间才能完成迁移。请注意,Python 3 有许多向后不兼容的更改 —— 这不是常规的软件包升级。

如果您真的想摆脱 Python 2.7,那么您必须等待 14.04 版本,但这并不能保证。

答案2

我在 2019 年来到这里,因为我默认使用 Python3 进行开发,在看到运行后被删除的内容后,我得出了与 OP 相同的结论apt purge python

因为我真正想要的只是使用 Python3 来调用python,所以我运行

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3 /usr/bin/python

这样,如果仍然需要 Python2.7,则可以用 明确调用它,而由于符号链接,python2.7简单调用将默认为 Python3。python

我没有任何调用 python2.7 的 bash 级别脚本,python因此这种更改不会造成破坏 - 而其他系统如果有的话,则需要相应地调整其脚本。

将 python 命令从 python2 切换到 python3 的主要障碍不是发行版内部的损坏,而是系统管理员和其他用户开发的私有第三方脚本的损坏。

-类 Unix 系统上的“python”命令

这个答案不是对 OP 的直接回应,但作为一个有类似问题的人,这是我在考虑删除 2.7 时寻找的功能。与其删除,不如优先考虑使用哪一个python

答案3

你不能,而且你也确实不想这么做。

Python 在 2.7 和 3.0 之间发生了巨大变化,并破坏了向后兼容性。为 2.7 编写的 Python 脚本用于支持大量系统基础架构,不一定能在 Python 3.x 上正常工作。这些脚本需要更新才能与新版本兼容,在此之前,您需要保留 Python 2.7。

这就是为什么你会注意到对旧版 Python 有大量依赖的原因——系统依赖它。此外,在同一系统上安装两个版本的 Python 也没什么坏处。而且,将来你可能会遇到仍然使用 Python 2.7 的应用程序,因此保留它是个好主意。

相关内容