¿Por qué Python todavía funciona después de ser eliminado?

13

En Debian 8 jessie he eliminado 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.

Pero de alguna manera todavía puedo iniciar Python desde la terminal.

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

No lo he instalado desde la fuente o desde cualquier otro lugar que no sea apto. ¿Cómo es esto posible y cómo puedo eliminar Python por completo?

Sidra de pera
fuente
3
que which pythondice
Thomas Junk
44
Como dice Thomas, en realidad no has eliminado Python, y para ser sincero, realmente no quieres hacerlo. Al hacerlo, su sistema quedará inutilizable y necesitará una reinstalación.
John
1
@ John: ¿Qué componentes internos de Debian dependen en absoluto de Python? No estoy ejecutando Ubuntu ...
Perry
2
¿Cuál es la salida de dpkg --get-selections | grep "python2.7"?
heemayl
77
Ningún paquete central en Debian depende de Python; si le aptpermite eliminar el paquete sin pasar por aros, entonces es seguro hacerlo.
Stephen Kitt

Respuestas:

19

Resultó que el paquete adicional python-minimal tenía python instalado. Entonces uno no solo tiene que hacer:

sudo apt-get remove python

pero también:

sudo apt-get remove python-minimal
Sidra de pera
fuente
3
Como pythondepende de python-minimal, podría haber eliminado python-minimaldirectamente. También puede eliminar varios paquetes a la vez, especificando múltiples nombres de paquetes en la línea de comando.
jhominal
8

Desafortunadamente, no tengo Debian a mano para probar, pero de todos modos:

Creo que realmente no lo desinstalaste python. Package 'python2.7' is not installed, so not removedsolo significa que un paquete python2.7no está instalado. Pero tal vez el nombre es diferente.

which pythondice /usr/bin/python. Esa es una clara señal de que tienes Python instalado. Aquí está el paquete oficial.

dpkg-query -l 'python*' debería ayudar a obtener el nombre / versión del paquete instalado.

apt-rdepends debería decirle en qué paquetes se basan python.

Thomas Junk
fuente
5

Probablemente debería mirar la salida de dpkg --get-selections | grep pythonpara ver todos los paquetes de python instalados. Hay algunos paquetes para varias versiones diferentes que pueden instalarse en un sistema. Tenga en cuenta que Python está en las selecciones estándar, por lo que eliminarlo por completo también eliminará otros paquetes 'estándar' como reportbug.

Zoredache
fuente
0

Tratar

sudo apt-get purge python-minimal

El comando anterior muestra eliminar python completamente de su sistema.

Omi Harjani
fuente