मैंने एक बैश स्क्रिप्ट लिखी है जिसे नए संस्करण को डाउनलोड करने या नहीं करने के निर्णय के लिए दो संस्करण तार की तुलना करनी है। परीक्षण पायथन स्क्रिप्ट पर निर्भर करता है 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)
उबंटू 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? यह चीजों की व्याख्या करेगा, जैसा कि मॉड्यूल को भी इनिशियलाइज़ करता है।