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