import sys
from apt.debfile import DebPackage
deb = DebPackage(sys.argv[1])
print(deb.required_changes)
上記のコードは、特定のdebファイルの依存関係を満たすことになっているパッケージを表示することを期待していましたが、代わりに空のリストのタプルを取得します。
([], [], [])
依存関係がアンインストールされていることが確実にわかっているパッケージを確認しました。
deb.check()
などの値を返すように挑発するために呼び出す必要がありました。また、文句を言うelsedep.required_changes
のインスタンスを渡す必要がありました。apt.cache.Cache
import sys
from apt.cache import Cache
from apt.debfile import DebPackage
cache = Cache()
deb = DebPackage(sys.argv[1], cache)
deb.check()
print(deb.missing_deps)
print(deb.required_changes)
出力:
% python apt_info.py ./libzeroc-ice33_3.3.1-12_amd64.deb
['libiceutil33']
(['libiceutil33'], [], [])