我编写了一个bash脚本,该脚本必须比较两个版本字符串来决定是否下载新版本。该测试依赖于Python脚本dos 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)
随着升级到Ubuntu 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
?那会解释事情,因为这也会初始化模块。