Я не могу получить 'required_changes' с Python-APT - PullRequest
1 голос
/ 26 апреля 2011
import sys
from apt.debfile import DebPackage
deb = DebPackage(sys.argv[1])
print(deb.required_changes)

Я ожидал, что в приведенном выше коде будут отображаться пакеты, которые должны удовлетворять зависимости данного файла deb, но вместо этого я получаю кортеж пустых списков :

([], [], [])

Я удостоверился, что проверил, что у пакета, который я точно знаю, есть неустановленные зависимости.

1 Ответ

2 голосов
/ 27 апреля 2011

Мне пришлось вызвать deb.check(), чтобы спровоцировать его на возврат значений для dep.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'], [], [])
...