Я написав скрипт bash, який повинен порівняти два рядки версії, щоб вирішити завантажувати нову версію чи ні. Тест покладається на сценарій Python, який робить apt.VersionCompare()
, який порівняє версії так, як apt
це робиться.
#!/usr/bin/env python
import sys, apt
res = apt.VersionCompare(sys.argv[1], sys.argv[2])
if res < 0:
sys.exit(-1)
if res > 0:
sys.exit(1)
sys.exit(0)
З оновленням до Ubuntu 14.4 це припинило роботу.
Я спробував змінити сценарій, перейшовши /programming/4957514/, як показано нижче:
#!/usr/bin/env python
import sys, apt_pkg
res = apt_pkg.version_compare(sys.argv[1], sys.argv[2])
if res < 0:
sys.exit(-1)
if res > 0:
sys.exit(1)
sys.exit(0)
але це дає мені ValueError: _system not initialized
. Як вирішити, чи є кращий спосіб порівняння версій, як apt
це?
import apt
в інтерактивному підказці перед імпортомapt_pkg
? Це пояснило б речі, оскільки це ініціалізує модуль.