Yeni sürümü indirmeye karar vermek için iki sürüm dizesini karşılaştırmak zorunda olan bir bash betiği yazdım. Test apt.VersionCompare()
, sürüm karşılaştırmasını olduğu gibi yapan bir Python betiğine dayanır 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 sürümüne yükseltme ile bu çalışmayı durdurdu.
Aşağıdaki gibi /programming/4957514/ aşağıdaki komut dosyasını değiştirmeye çalıştım :
#!/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)
ama bu bana veriyor ValueError: _system not initialized
. Nasıl çözülür veya sürümleri karşılaştırmanın daha iyi bir yolu apt
var mı?
import apt
içe aktarmadan önce etkileşimli istemde bir yaptınız mıapt_pkg
? Bu, modülü de başlatan şeyleri açıklar.