不带distutils.version的Python版本列表

不带distutils.version的Python版本列表,python,python-3.x,versioning,distutils,Python,Python 3.x,Versioning,Distutils,如何在不使用distutils的情况下对版本列表进行排序 distutils.version对版本号的长度有限制,因此我得到 严格版本 松散版本 未排序的结果 相关代码 有一个更好的: >>> from pkg_resources import parse_version >>> max(versions, key=parse_version) '12.1.0.2.v13' >>> sorted(versions, key=parse_ver

如何在不使用distutils的情况下对版本列表进行排序

distutils.version
对版本号的长度有限制,因此我得到

严格版本 松散版本 未排序的结果 相关代码 有一个更好的:

>>> from pkg_resources import parse_version
>>> max(versions, key=parse_version)
'12.1.0.2.v13'
>>> sorted(versions, key=parse_version)
['11.2.0.4.v4',
 '11.2.0.4.v5',
 '11.2.0.4.v6',
 '11.2.0.4.v7',
 '11.2.0.4.v8',
 '11.2.0.4.v9',
 '11.2.0.4.v10',
 '11.2.0.4.v11',
 '11.2.0.4.v12',
 '11.2.0.4.v13',
 '11.2.0.4.v14',
 '11.2.0.4.v15',
 '11.2.0.4.v16',
 '11.2.0.4.v17',
 '12.1.0.2.v1',
 '12.1.0.2.v2',
 '12.1.0.2.v3',
 '12.1.0.2.v4',
 '12.1.0.2.v5',
 '12.1.0.2.v6',
 '12.1.0.2.v7',
 '12.1.0.2.v8',
 '12.1.0.2.v9',
 '12.1.0.2.v10',
 '12.1.0.2.v11',
 '12.1.0.2.v12',
 '12.1.0.2.v13']

添加了问题,修正了打字错误。效果非常好。谢谢你的帮助。
"results": null 
["11.2.0.4.v4", "11.2.0.4.v5", "11.2.0.4.v6", "11.2.0.4.v7", "11.2.0.4.v8", 
 "11.2.0.4.v9", "11.2.0.4.v10", "11.2.0.4.v11", "11.2.0.4.v12", 
 "11.2.0.4.v13", "11.2.0.4.v14", "11.2.0.4.v15", "11.2.0.4.v16", 
 "11.2.0.4.v17", "12.1.0.2.v1", "12.1.0.2.v2", "12.1.0.2.v3", "12.1.0.2.v4", 
 "12.1.0.2.v5", "12.1.0.2.v6", "12.1.0.2.v7", "12.1.0.2.v8", "12.1.0.2.v9", 
 "12.1.0.2.v10", "12.1.0.2.v11", "12.1.0.2.v12", "12.1.0.2.v13"]
try:
    params = dict()
    params['Engine'] = module.params.get('engine_name')
    results = client.describe_db_engine_versions(**params)
    versions = [z['EngineVersion'] for z in results['DBEngineVersions']]
    return versions.sort(key=StrictVersion)        
except Exception as e:
    module.fail_json(msg=str(e))
>>> from pkg_resources import parse_version
>>> max(versions, key=parse_version)
'12.1.0.2.v13'
>>> sorted(versions, key=parse_version)
['11.2.0.4.v4',
 '11.2.0.4.v5',
 '11.2.0.4.v6',
 '11.2.0.4.v7',
 '11.2.0.4.v8',
 '11.2.0.4.v9',
 '11.2.0.4.v10',
 '11.2.0.4.v11',
 '11.2.0.4.v12',
 '11.2.0.4.v13',
 '11.2.0.4.v14',
 '11.2.0.4.v15',
 '11.2.0.4.v16',
 '11.2.0.4.v17',
 '12.1.0.2.v1',
 '12.1.0.2.v2',
 '12.1.0.2.v3',
 '12.1.0.2.v4',
 '12.1.0.2.v5',
 '12.1.0.2.v6',
 '12.1.0.2.v7',
 '12.1.0.2.v8',
 '12.1.0.2.v9',
 '12.1.0.2.v10',
 '12.1.0.2.v11',
 '12.1.0.2.v12',
 '12.1.0.2.v13']