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

pho*_*bai 23 python python-2.7

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

sudo apt-get remove python2.7
Run Code Online (Sandbox Code Playgroud)

Ubuntu 警告我有大量的系统相关组件也将被删除。看起来真的很吓人。

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

ger*_*ijk 28

你不能。

Ubuntu wiki/Python

长期计划(例如 14.04)

将 Python 2 移至 Universe,将 main 中的所有 Python 应用程序移植到 Python 3。我们永远不会完全摆脱 Python 2.7,但因为也永远不会有 Python 2.8,并且到那时 Python 2.7 将有将近 4 年的历史在 14.04 LTS 版本中,是时候将 Python 2 降级到 Universe 了。

这意味着许多基础包对 2.7 有严格的依赖性,并且仍然需要很多时间才能迁移。请注意,Python 3 有许多向后不兼容的更改——它不是常规的包升级。

如果你真的想摆脱 Python 2.7,你将不得不等待 14.04 版本,但不能保证。

  • 现在是 16.04。 (3认同)

san*_*boy 14

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

因为我真正想要的是用 just 调用 Python3 python,所以我跑了

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3 /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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


小智 6

你不能,你也不想。

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

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