Tôi đã viết một tập lệnh bash phải so sánh hai chuỗi phiên bản để quyết định tải xuống phiên bản mới hay không. Bài kiểm tra dựa trên tập lệnh Python apt.VersionCompare()
, phiên bản này so sánh cách apt
thực hiện.
#!/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)
Với việc nâng cấp lên Ubuntu 14.4, điều này đã ngừng hoạt động.
Tôi đã cố gắng thay đổi tập lệnh theo /programming/4957514/ như dưới đây:
#!/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)
nhưng điều này mang lại cho tôi ValueError: _system not initialized
. Làm thế nào để giải quyết, hoặc có cách nào tốt hơn để so sánh các phiên bản như thế apt
nào?
import apt
dấu nhắc tương tác trước khi nhậpapt_pkg
? Điều đó sẽ giải thích mọi thứ, vì điều đó cũng khởi tạo mô-đun.