从distutils的setup.py中获取版本信息
我该如何从setup.py文件中导入或读取版本号,以便在运行时记录这个版本?这样我就可以确保得到的结果是来自我这个特定版本的包。
以下是我的setup.py文件的内容(简化为只包含必要的部分)
import distutils.core
VERSION = '0.1.0'
LICENSE = 'GPLv2'
distutils.core.setup(**KWARGS)
当我尝试这样做时: import setup 我遇到了以下错误:
distutils.core.setup(**KWARGS)
usr/lib/python2.6/distutils/core.pyc in setup(**attrs)
ok = dist.parse_command_line()
except DistutilsArgError, msg:
raise SystemExit, gen_usage(dist.script_name) + "\nerror: %s" % msg
if DEBUG:
SystemExit:
error: no commands supplied
2 个回答
3
有一种方法可以从你的安装脚本中获取版本信息:
python setup.py --version
不过,我不太明白你说的“在运行时记录版本”是什么意思;因为安装脚本通常不会和你的模块一起安装,所以大家会用其他方法在代码中放一个版本号,比如在模块里加一个 __version__
属性,或者在 __init__.py
文件中写上版本号。
0
在你的例子中,setup会自动执行,你需要把:
distutils.core.setup(**KWARGS)
替换成:
if __name__ == '__main__':
distutils.core.setup(**KWARGS)
这样的话,setup只有在你真的运行setup.py的时候才会执行。