python - 如何为不同版本的程序库创建通用程序代码?
问题描述
我使用的软件库在不同版本的库中具有不同的函数名称。
我尝试使用以下代码:
some_variable = module.old_name_of_function()
但此代码仅适用于旧版本的程序库。
我计划在不同的计算机上使用代码,安装不同版本的软件库。
有些电脑安装了新版本的程序库,这里应该使用下面的代码:
some_variable = module.new_name_of_function()
如果我old_name_of_function()
在新版本的库中使用,我会得到一个错误。
如何解决这个问题?
解决方案
您可以pkg_resources
为它使用模块(例如 numpy):
import pkg_resources
pkg_resources.get_distribution("numpy").version
将返回:
'1.15.2'
然后你可以使用case
s、if
s 或其他东西来运行你需要的功能。
例如:
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。
推荐阅读
- meteor - 如何估算 MeteorJS 应用程序的托管成本 (AWS)?
- node.js - TypeScript 未访问或导入节点模块
- php - AJAX 使用 Codeigniter 返回 ERR_CONTENT_DECODING_FAILED 200
- php - 如何在 laravel 中以编辑形式显示时间戳格式?
- php - 我的要求声明调用 phpmailer 有什么问题?
- python - PyAudio 安装问题
- jquery - Angular JQuery DataTable,延迟搜索直到输入多个字符
- java - 方法没有使用正确的解析输入
- python - 如何使用自定义 IO 功能扩展 Pandas?
- django - Django 页面 URL 包含 %3f 而不是 "?" 符号