Я написав скрипт 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? Це пояснило б речі, оскільки це ініціалізує модуль.