如何比较 Debian 软件包版本? [英] How to compare Debian package versions?
本文介绍了如何比较 Debian 软件包版本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我查看了 python-apt
和 python-debian
,它们似乎没有比较软件包版本的功能.我必须自己写吗,或者有什么我可以使用的吗?
理想情况下,它看起来像:
<预><代码>>>>v1 = apt.version("1:1.3.10-0.3")>>>v2 = apt.version("1.3.4-1")>>>v1 >v2真的 解决方案
你可以使用 apt_pkg.version_compare:
导入apt_pkgapt_pkg.init_system()a = '1:1.3.10-0.3'b = '1.3.4-1'vc = apt_pkg.version_compare(a,b)如果 vc >0:打印('版本a>版本b')elif vc == 0:print('版本a == 版本b')elif vc <0:print('版本a <版本b')
收益
version a >版本 b
<小时>
感谢 Tshepang 在评论中指出对于较新版本:apt.VersionCompare
现在是 apt_pkg.version_compare
.
I looked at python-apt
and python-debian
, and they don't seem to have functionality to compare package versions. Do I have to write my own, or is there something I can use?
Ideally, it would look something like:
>>> v1 = apt.version("1:1.3.10-0.3")
>>> v2 = apt.version("1.3.4-1")
>>> v1 > v2
True
解决方案
You could use apt_pkg.version_compare:
import apt_pkg
apt_pkg.init_system()
a = '1:1.3.10-0.3'
b = '1.3.4-1'
vc = apt_pkg.version_compare(a,b)
if vc > 0:
print('version a > version b')
elif vc == 0:
print('version a == version b')
elif vc < 0:
print('version a < version b')
yields
version a > version b
Thanks to Tshepang for noting in the comments that
for newer versions: apt.VersionCompare
is now apt_pkg.version_compare
.
这篇关于如何比较 Debian 软件包版本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文