首页 > 解决方案 > 如何为不同版本的程序库创建通用程序代码?

问题描述

我使用的软件库在不同版本的库中具有不同的函数名称。

我尝试使用以下代码:

some_variable = module.old_name_of_function()

但此代码仅适用于旧版本的程序库。

我计划在不同的计算机上使用代码,安装不同版本的软件库。

有些电脑安装了新版本的程序库,这里应该使用下面的代码:

some_variable = module.new_name_of_function()

如果我old_name_of_function()在新版本的库中使用,我会得到一个错误。

如何解决这个问题?

标签: pythonpython-3.xlibraries

解决方案


您可以pkg_resources为它使用模块(例如 numpy):

import pkg_resources
pkg_resources.get_distribution("numpy").version

将返回:

'1.15.2'

然后你可以使用cases、ifs 或其他东西来运行你需要的功能。

例如:

import pkg_resources
version = pkg_resources.get_distribution("numpy").version
v = version.split('.')

if int(v[0]) == 1 and int(v[1]) < 17:
    print('WAKA')
else:
    print('NEW WAKA')

将为每个 1.X 版本打印“WAKA” numpy,其中 X < 17。


推荐阅读