问题描述
|
如何从setup.py文件导入或读取VERSION,以便可以在运行时记录版本。
通过这种方式,我可以确保获得的结果是从此特定版本的软件包中获得的。
以下是我的setup.py文件的内容(简化为具有必要的部分)
import distutils.core
VERSION = \'0.1.0\'
LICENSE = \'GPLv2\'
distutils.core.setup(**kwargs)
当我尝试做时:
导入设置
我收到以下错误:
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
解决方法
在您的示例中,安装程序是自动执行的,您必须替换:
distutils.core.setup(**KWARGS)
与:
if __name__ == \'__main__\':
distutils.core.setup(**KWARGS)
这样,只有在您实际运行setup.py时才执行安装程序
,有一种方法可以从安装脚本中获取版本:
python setup.py --version
但是我不确定我理解“在运行时记录版本”是什么意思;安装脚本通常未随模块一起安装,因此人们可以使用其他方式在其代码中放置版本号,例如模块中的“ 5”属性或文件“ 6”。