我需要确保导入的包之一至少是 v1.2.6。我在这里看到的所有问题都检查正在运行的Python版本。我想检查该模块的版本。
我当前的解决方案很混乱。必须有一个Python式的解决方案来解决这个问题。
import pypfopt
ver = pypfopt.__version__
major, minor, iter = ver.split('.')
major = int(major)
minor = int(minor)
iter = int(iter)
if major < 1:
logger.error("major version less than 1")
if minor < 2:
logger.error("minor version less than 2")
if iter < 6:
logger.error("iter version less than 6")
可能重复:
虽然关于 SO, 1 , 2 , 3也有类似的问题,但这些问题正在解决如何从 获取和打印结果module.__version__,我已经在这样做了。
我的问题是,是否有一种干净的、Pythonic 的方法来检查版本号与最小版本号。例如:
if pypfopt.__version__ < 1.2.6:
logger.error("Version is too low. Update")
但__version__返回一个字符串,并且由于有两个小数(1.2.6),因此无法将其转换为浮点数,然后进行比较。目前,我正在将每个单独的数字转换为 int,然后进行比较。
如此混乱的解决方案不可能是正确的方法。
我使用 10 行来比较两个数字。
郎朗坤
守着一只汪
相关分类