在运行时提取python轮的版本



我目前正在做一个项目,在这个项目中,我们使用AzureDevOps管道将轮子文件发布到azure工件中。在管道过程中,我设置了一个版本标签,它将被写入一个名为"deploymentversion"的文件中

这个文件的内容将从我的setup.py中读取,并在构建wheel文件时设置版本。

在我的机器上安装了轮子后,我想有一种像这样的help()功能。

import myWhlPackage
myWhlPackage.help()

代码中的help()函数应该只是打印出一些常量文本和当前安装的车轮版本。所以如果我做另一个版本,这个版本标签也应该根据轮子的安装版本来增加。

我已经尝试提供部署版本文件也与WHL文件,但安装后,它是不可能读取。

有什么建议什么样的工作流程是最好的吗?没有发现类似的用例。

AzureDevOps的部署将被修复。

Thanks in advance

您可以尝试使用getversion在运行时提取python wheel的版本。点击此文档查看详细信息。

根据文件:

在运行时(当您需要该版本号时),包和模块可以在

  • 是否已导入
  • 已构建并pip安装(无论是否在调试模式下),或者简单地添加到PYTHON PATH (sys.path)
  • 未构建并添加到PYTHON PATH (sys.path)

这种多样的设置使得它很难存在解决这个问题的所有方面。pkg_resources是可能是目前最好的方法(像这样),但是没有例如,当一个包是一个未拉链的轮子添加到PYTHON的道路。它也不支持内置模块。

最新更新