我有一个用distutils构建的python包,我在setup函数中使用了version参数,如此(除了名称和版本之外还有其他参数):
setup(name='example_module', version='0.1.2', ...)
我可以通过调用:
从example_module
包中的模块中提取版本号
import pkg_resources
version = pkg_resources.require('example_module')[0].version
如何从此发行版之外的python脚本访问此版本号?
答案 0 :(得分:1)
通常,版本号是包源中的常量,setup.py使用该值,然后导入包的任何人都可以读取版本字符串。
答案 1 :(得分:1)
在分发版之外的另一个python程序中提供该软件包版本的最简单方法是遵循PEP 396. http://www.python.org/dev/peps/pep-0396/
任何其他脚本都可以通过运行
来访问python包的版本python setup.py --version
并捕获输出。我在Makefile中使用它来生成我的包的在线文档时提取版本号。
如果您的软件包包含任何命令行实用程序,请确保包含--version
命令行选项。然后,任何脚本/程序都可以在安装后使用它获取您的软件包版本。