Ich habe ein Bash-Skript geschrieben, das zwei Versionszeichenfolgen vergleichen muss, um zu entscheiden, ob eine neue Version heruntergeladen werden soll oder nicht. Der Test basiert auf einem Python-Skript, das apt.VersionCompare()
den Versionsvergleich auf die gleiche Weise durchführt 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)
Mit dem Upgrade auf Ubuntu 14.4 funktionierte dies nicht mehr.
Ich habe versucht, das Skript unter /programming/4957514/ wie folgt zu ändern :
#!/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)
aber das gibt mir ValueError: _system not initialized
. Wie löse ich oder gibt es eine bessere Möglichkeit, Versionen zu vergleichen apt
?
import apt
vor dem Import eine interaktive Eingabeaufforderung ausgeführtapt_pkg
? Das würde die Dinge erklären, da dies auch das Modul initialisiert.