Некоторые люди могут рекомендовать вам поискать функцию, которую вы хотите использовать, а не дистрибутив, а затем сделать вывод о том, что вы должны использовать, основываясь на этом. Например, если вы хотите использовать dpkg
, убедитесь, что он существует, а затем используйте его, если можете.
Однако это не отвечает на ваш конкретный вопрос ... Как вы на самом деле можете сказать, на каком дистрибутиве вы работаете? В зависимости от того, какую версию Python вы используете, есть несколько вариантов:
- Используйте
platform.linux_distribution()
. Как задокументировано здесь , он вернет кортеж (distro name, version, id)
. Однако в Python 3 он устарел и будет удален 3.8.
- Используйте пакет
distro
. Как задокументировано здесь , вы получаете нечто удивительно похожее, устанавливая этот пакет и затем вызывая distro.linux_distribution()
. В заметках о выпуске сказано, что это будет работать на 2.7 и 3.4 +.
Существуют более старые варианты, чем эти, но они устарели с версии 2.6, поэтому я их здесь не включил.