История изменений
Исправление lucentcode, (текущая версия) :
Вот пример, выводящий все установленные пакеты.
#!/usr/bin/python
"""Print all installed packages"""
import apt_pkg
def main():
"""Main."""
apt_pkg.init_config()
apt_pkg.init_system()
cache = apt_pkg.Cache()
print "All installed packages:"
for pkg in cache.packages:
if pkg.current_state == apt_pkg.CURSTATE_INSTALLED:
print " ", pkg.name
if __name__ == "__main__":
main()
В общем, вы можете получить apt_pkg.Cache в переменную cache, и затем проверить установлен ли пакет так:
pkg = cache[name_of_our_package] if pkg.current_state == apt_pkg.CURSTATE_INSTALLED: print «Yes, package {0} was installed».format(pkg.name) Установите документацию к python-apt, и всё станет понятно. В документации есть более простой способ, основанный на использовании высокоуровневого apt.Cache, но он у меня не работает. Да, отлавливайте различные состояния CURSTATE(потом, что иногда пакет может быть установлен, но неправильно сконфигурирован, и т.п.) Успехов в творчестве:)
Исходная версия lucentcode, :
Вот пример, выводящий все установленные пакеты.
#!/usr/bin/python
"""Print all installed packages"""
import apt_pkg
def main():
"""Main."""
apt_pkg.init_config()
apt_pkg.init_system()
cache = apt_pkg.Cache()
print "Essential packages:"
for pkg in cache.packages:
if pkg.current_state == apt_pkg.CURSTATE_INSTALLED:
print " ", pkg.name
if __name__ == "__main__":
main()
В общем, вы можете получить apt_pkg.Cache в переменную cache, и затем проверить установлен ли пакет так:
pkg = cache[name_of_our_package] if pkg.current_state == apt_pkg.CURSTATE_INSTALLED: print «Yes, package {0} was installed».format(pkg.name) Установите документацию к python-apt, и всё станет понятно. В документации есть более простой способ, основанный на использовании высокоуровневого apt.Cache, но он у меня не работает. Успехов в творчестве:)