如何比较Debian软件包版本 [英] How to compare Debian package versions

查看:218
本文介绍了如何比较Debian软件包版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我看着python-apt和python-debian,他们似乎没有比较软件包版本的功能。我必须自己写,还是有东西可以使用?



理想情况下,它看起来像:

 >>> v1 = apt.version(1:1.3.10-0.3)
>>> v2 = apt.version(1.3.4-1)
>>> v1> v2
True


解决方案

您可以使用 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)
如果vc> 0:
print('version a> version b')
elif vc == 0:
print('version a == version b')
elif vc < 0:
print('version a< version b')

>

 版本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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆