如何在Ubuntu 16.04上完全卸载Python 2.7.13。

80

我按照这个指南在Ubuntu 16.04上安装了Python 2.7.13,它成为了默认版本,并替代了版本2.7.12。但是,我想要完全删除Python 2.7.13并返回到版本2.7.12作为默认版本,因为pip命令出现以下错误而无法工作。

bash: /usr/local/bin/pip: /usr/bin/python: bad interpreter: No such file or directory

请问您能帮忙告诉我如何从Ubuntu 16.04中完全删除Python 2.7.13吗?否则,是否能建议如何修复上述错误?


6
在做任何其他事情之前,我建议您运行$ sudo apt install --reinstall python python-apt python2.7-minimal;Ubuntu依赖于一个可用的Python2安装!您的问题可能更适合在这里提问:https://askubuntu.com/ - hiro protagonist
6个回答

127

我该如何操作:

# Remove python2
sudo apt purge -y python2.7-minimal

# You already have Python3 but 
# don't care about the version 
sudo ln -s /usr/bin/python3 /usr/bin/python

# Same for pip
sudo apt install -y python3-pip
sudo ln -s /usr/bin/pip3 /usr/bin/pip

# Confirm the new version of Python: 3
python --version

在我的情况下,与其使用 sudo apt purge -y python2.7-minimal,使用 sudo apt purge python2.7-minimal 就可以了!但是,在按下 Enter 键后,我必须输入 **Yes, do as I say!**。注意:我正在使用的是 Linux Mint 19.3 而不是 Ubuntu。感谢 @Benoit Mrx。 - mefahimrahman
3
如果加上“-y”,就不需要说“yes”了! - BntMrx
是的!但是简单地使用“-y”并没有起作用!!我不知道为什么,但只有重新输入确认字符串“是的,按照我的指示做!”才能起作用。 - mefahimrahman
不,我们不会按照你的要求去做,因为这样做没有逻辑上的影响。 - Conor

88

注意:不建议从Ubuntu中删除默认的Python,这可能会导致GDM(提供图形登录功能的图形显示管理器)失败。

要彻底卸载Python2.x.x及其所有依赖项,请使用此命令:

sudo apt purge python2.x-minimal

由于仍然有许多包依赖于Python2.x.x,因此在允许apt继续操作之前,您应该仔细查看apt想要移除的软件包。

谢谢,希望对你有所帮助。


34

尝试以下命令以查看所有 Python 实例:

whereis python
which python

然后使用以下命令删除所有实例:

sudo apt autoremove python

重复执行sudo apt autoremove python(对于所有版本) 这样就可以了,然后如果需要重新安装Python,安装Anaconda并按照自己的意愿管理它。


5
无法以这种方式卸载。无论如何,它仍然存在于系统中...sudo apt autoremove python 读取软件包列表... 完成 构建依赖关系树
读取状态信息... 完成 软件包'python'未安装,因此未删除 0个升级,0个新安装,0个要删除,3个未升级。 然后再次:sudo apt remove python2.7 然后:python --version 输出:Python 2.7.12
- user_x
5
这个命令移除了我的GUI的一些依赖项,导致我的Ubuntu桌面停止工作,同时也删除了Google Chrome稳定版和其他软件包。我真的不知道为什么会运行它,呵呵。 - valdeci
4
不要执行自动移除(autoremove)命令,否则会同时移除其他软件包。 - David Gomes
2
如果我没错的话,autoremove会删除环境中不再需要的软件包或依赖项。 - Parvathirajan Natarajan
1
毁掉 Stack Overflow 的好评评论 - Egg
显示剩余3条评论

3
有时候你需要先更新apt仓库列表。
sudo apt-get update
sudo apt purge python2.7-minimal

3
sudo apt purge python2.7-minimal

2

在清除了所有Python版本并重新安装了3.6版本后,这就是我得到的结果。

root@esp32:/# python
Python 3.6.0b2 (default, Oct 11 2016, 05:27:10) 
[GCC 6.2.0 20161005] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
root@esp32:/# python3
Python 3.8.0 (default, Dec 15 2019, 14:19:02) 
[GCC 6.2.0 20161005] on linux
Type "help", "copyright", "credits" or "license" for more information.

另外,pip和pip3命令完全出了问题:

root@esp32:/# pip
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal.cli.main import main
  File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                   ^
SyntaxError: invalid syntax

root@esp32:/# pip3
Traceback (most recent call last):
  File "/usr/local/bin/pip3", line 7, in <module>
    from pip._internal.cli.main import main
  File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                   ^
SyntaxError: invalid syntax

我对Linux完全不了解,我只是想将Python从2.x升级到3.x,以便Platformio可以升级,但现在似乎一切都搞砸了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接