Ubuntuにインストールされているパッケージのリストとパッケージのバージョンを取得するPythonコードはありますか?私はPythonコードを手動でインストールされたパッケージのリストを生成し、個々のパッケージを照会するしかし、バージョン ID のリストがありません。インストールされているパッケージのバージョンを取得する方法を知っている人はいますか?
答え1
そのための既存のコードがあるかどうかはわかりません。ただし、ファイル を参照することはできます/var/lib/dpkg/status
。インストールされたパッケージに関するすべての情報は、このファイルに保存されます。
このファイルを解析するコードを書くのは、Python に詳しくない場合でも非常に簡単です。
答え2
これを askubuntu に移行すべきかどうかはわかりませんが、前述のスレッドと同じアプローチを使用してください。dpkg/dpkg-query を実行してすべてのデータのダンプを取得し、標準の Python 解析メカニズムを使用して関連情報を抽出します。
もちろん、すでにフォークしているので、すべてのテキスト加工を bash 自体で行うことができます。
あるいは、バージョンが含まれている状態ファイルがあればそれを探します (「Dir::Etc::Status」など)。このアプローチが最もクリーンです。
答え3
aptitudeに-F
( )オプションを渡す--format
表示するフィールドを指定する。
aptitude --disable-columns -F '%p %v' search '~A'
Python からは、パッケージapt_pkg
のモジュールを使用しますpython-apt
。