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


13

在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.

但是我仍然可以从终端启动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.
>>> 

除了apt之外,我还没有从源头或其他任何地方安装过它。这怎么可能?如何完全删除python?


3
怎么which python说呢?
Thomas Junk

4
正如Thomas所说,您实际上并没有删除Python-坦白地说,您确实不想删除。这样做会使您的系统无法使用,需要重新安装。
约翰

1
@John:到底什么debian内部依赖于python?我没有运行Ubuntu ...
Perry 2015年

2
什么输出dpkg --get-selections | grep "python2.7"
heemayl,2015年

7
Debian中没有核心程序包依赖于Python。如果apt让您无需经过箍就可以卸下包裹,那么这样做是安全的。
史蒂芬·基特

Answers:


19

原来,附加软件包python-minimal已安装了python。然后,不仅要做:

sudo apt-get remove python

但是也:

sudo apt-get remove python-minimal

3
由于python依赖于python-minimal,您可以python-minimal直接删除。您还可以通过在命令行上指定多个软件包名称来一次删除多个软件包。
2015年

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


5

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


0

尝试

须藤apt-get purge python-minimal

上面的命令show从系统中完全删除python。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.