Tengo que obtener el nombre de la distribución de Linux desde un script de Python. Hay un método dist
en el módulo de plataforma:Verificar el nombre de distribución de Linux
import platform
platform.dist()
Pero bajo mi Arch Linux que devuelve:
>>> platform.dist()
('', '', '')
¿Por qué? ¿Cómo puedo obtener el nombre?
PS. Debo verificar si la distribución está basada en Debian.
Actualización: He encontrado aquí Python site, que dist() está en desuso desde 2.6.
>>> platform.linux_distribution()
('', '', '')
@Kimvais Me refiero a obtener el nombre exactamente del script de python sin analizar ningún archivo, solo métodos estándar. – Ockonal
¿Qué devuelve 'uname -a' en Arch? platform.py tiene 1600 líneas de prueba de todo lo que se pueda imaginar para distinguir varios sistemas; es una gran pila de heurística. Arch también parece estar basado solo en sí mismo, no en otra distro: http://en.wikipedia.org/wiki/Arch_Linux – msw
¿Qué devuelve 'lsb_release -is' bajo Arch? Si 'platform.dist()' no le proporciona datos utilizables, puede llamar a 'subprocess.check_output ([" lsb_release "," - is "])' en su lugar. – panzi