1
import sys
from apt.debfile import DebPackage
deb = DebPackage(sys.argv[1])
print(deb.required_changes)

上記のコードは、特定のdebファイルの依存関係を満たすことになっているパッケージを表示することを期待していましたが、代わりに空のリストのタプルを取得します。

([], [], [])

依存関係がアンインストールされていることが確実にわかっているパッケージを確認しました。

4

1 に答える 1

2

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'], [], [])
于 2011-04-27T00:16:45.347 に答える