Python でインストール済みのdebianパッケージを調べる方法

debianubuntu でインストール済みのdebパッケージの一覧を調べる方法です

(pythonのモジュールの一覧ではなくて,linuxdebパッケージの一覧です)

コマンドラインなら

$ dpkg -l

等になりますが、似たことをpythonで実装する場合は apt モジュールを使います

サンプルコード

import apt

cache = apt.Cache()

for pkg in cache:
     if not pkg.is_installed:
          continue

     name = pkg.name
     version = None
     for v in pkg.versions:
            if v.is_installed:
                 version = v
     print(name, version)

aptモジュールがインストールされていない場合は

$ sudo apt install python3-apt

でインストールできます