Я написал скрипт 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
? Это объяснило бы вещи, поскольку это также инициализирует модуль.