在安装了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呢?

2我不建议这样做。Python的版本并不完全兼容,所以如果你没有正确的版本,旧脚本可能会遇到问题。 - tikend
你说得没错,Python 3.3已经宣布与Python 2.7不兼容。所以我最好还是保留它。谢谢你的建议! - phoenix bai
3个回答

你不能这样做。
Ubuntu wiki / Python中得知:
长期计划(例如14.04)是将Python 2移至universe,并将主要的所有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版本的发布,但并没有保证。

3现在是16点04分。 - muru
1现在是18:04。 - Francesco Pasa
1现在是19点04分。 - Genarito
1现在是20点04分。 - CalfCrusher

2019年来到这里,因为我默认使用Python3进行开发,并在运行apt purge python后得出了与OP相同的结论。
由于我真正想要的是只用python来调用Python3,所以我运行了。
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3 /usr/bin/python

这样,如果仍然需要Python2.7,可以显式地调用python2.7,而只调用python将默认使用Python3,因为有符号链接。
我没有任何使用python调用python2.7的bash级别脚本,所以这个改变不会造成干扰 - 而其他系统如果有的话,它们需要相应地调整它们的脚本。
引用: 在发行版中将python命令从python2切换到python3的主要障碍不是发行版内部的破坏,而是由系统管理员和其他用户开发的私有第三方脚本的破坏。
- Unix-Like系统上的"python"命令 这个答案并不是对OP的直接回应,但作为一个有类似问题的人,当我考虑删除2.7时,我正在寻找的功能就是这个。与其删除,不如优先考虑哪个可以使用python

1这让我觉得是个不好的主意。为Python 2编写的旧脚本会调用/usr/bin/python,而几乎每个为Python 3编写的脚本都会意识到这个变化,并在当前时间调用python3。让python指向python2.7不太可能出现问题。 - vidarlo
我会说这取决于环境,就像我说的那样,我不制作需要Python2并且在Python3中工作的脚本 - 如果我在我们工作站之一上做出这样的改变,运行自动化脚本将会非常破坏性。 - saniboy
有没有特定的系统进程,你能列举一下调用 /usr/bin/python 的?当有新的信息出现时,我总是乐意改变我的想法。 - saniboy
我在18.04中找到了相当多的相关内容。使用命令grep -r "/usr/bin/python" /usr/bin/可以给你一个简要的概述。这可能不会禁用你的系统,但可能会导致某些功能无法正常工作,比如solaar - vidarlo
我使用的是18.04.02版本,唯一看到调用/usr/bin/python而没有明确指定2.7/3版本的只有pip、dh_python2和pip2。我可以理解这样的改变在一个有很多依赖于Python2脚本的不同环境中可能会带来一些混乱,你认为这更多是技术债务的问题吗?我很好奇这是否更多是一个灰色地带,还是更明确地说明了为什么这是个坏主意。 - saniboy
1在我检查的系统上,有39个没有明确提到python3或python2的。所有这些很可能是python2。当然,这取决于您安装了什么,但我也看不出有大的理由这样做... - vidarlo
可以。感谢提供额外的观点!3个与Python2相关的程序与39个对Python进行非显式调用是一个相当重要的问题,所以我可以将其视为错误建议。 - saniboy
这可能对一些用户来说是可以接受的,这取决于他们安装了哪些软件包。它只是打破了一些期望... :) - vidarlo
我按照你说的做了,但现在很多事情都出错了。请告诉我如何撤销我所做的操作。我希望当我运行python时系统调用的是2.7版本,而当我运行python3时调用的是3.8版本,就像以前一样。请告诉我如何恢复到之前的状态。 - nkhl
1删除符号链接并重新安装Python二进制文件。 - saniboy
很抱歉,但是能告诉我执行这个操作的命令吗?我对Shell命令不太了解。 - nkhl

你不能这样做,而且你真的不想这样做。
Python在2.7和3.0之间发生了巨大变化,并且不向后兼容。 为2.7编写的Python脚本用于支持系统基础设施的大部分功能,不一定能够正常地与Python 3.x配合使用。 这些脚本需要更新以适应新版本,并且在完成更新之前,你需要继续保留Python 2.7。
这就是为什么你会注意到旧版本的Python上有如此多的依赖 - 系统依赖它。 此外,在同一系统上安装两个版本的Python也没有任何问题。 而且,未来可能还会遇到一些仍然使用Python 2.7的应用程序,所以保留它是一个好主意。