为什么python被删除后仍然可以工作?

Per*_*rry 17 debian python apt

在 Debian 8 jessie 上,我删除了 python:

perry@perry:~$ sudo apt-get remove python
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'python2.7' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 35 not upgraded.
Run Code Online (Sandbox Code Playgroud)

但不知何故,我仍然可以从终端启动 python。

perry@perry:~$ python
Python 2.7.9 (default, Apr 29 2015, 18:34:06) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
Run Code Online (Sandbox Code Playgroud)

我没有从源代码或任何其他地方安装它,但 apt。这怎么可能,我怎样才能完全删除 python?

Per*_*rry 22

事实证明,附加包 python-minimal 安装了 python。一个人不仅要做:

sudo apt-get remove python
Run Code Online (Sandbox Code Playgroud)

但是也:

sudo apt-get remove python-minimal
Run Code Online (Sandbox Code Playgroud)

  • 由于 `python` 依赖于 `python-minimal`,你可以直接删除 `python-minimal`。您还可以通过在命令行上指定多个包名称来一次删除多个包。 (4认同)

小智 8

不幸的是,我手头没有 Debian 可以测试,但无论如何:

我想你并没有真正卸载pythonPackage 'python2.7' is not installed, so not removed仅表示python2.7未安装软件包。但也许名字不同。

which python/usr/bin/python。这是一个明确的迹象,表明你已经安装了 python。是官方包。

dpkg-query -l 'python*' 应该有助于获取已安装软件包的名称/版本。

apt-rdepends应该告诉你哪些包依赖于python.


Zor*_*che 5

您可能应该查看输出dpkg --get-selections | grep python以查看所有已安装的 python 包。系统上可能会安装一些适用于各种不同版本的软件包。请记住,python 位于标准选择中,因此完全删除它也会删除其他“标准”包,例如reportbug.