Eu escrevi um script bash que tem que comparar duas cadeias de versão para decidir baixar ou não uma nova versão. O teste se baseia em um script Python que faz apt.VersionCompare()
, que faz comparação de versões da mesma forma que apt
faz.
#!/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)
Com a atualização para o Ubuntu 14.4, isso parou de funcionar.
Tentei alterar o script seguindo /programming/4957514/, conforme abaixo:
#!/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)
mas isso me dá ValueError: _system not initialized
. Como resolver, ou existe uma maneira melhor de comparar versões como apt
faz?
import apt
prompt interativo antes de importarapt_pkg
? Isso explicaria as coisas, pois isso também inicializa o módulo.