从distutils setup.py获取版本

时间:2011-05-26 12:22:58

标签: python distutils

如何从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

2 个答案:

答案 0 :(得分:0)

在您的示例中,设置会自动执行,您必须替换:

distutils.core.setup(**KWARGS)

使用:

if __name__ == '__main__':
    distutils.core.setup(**KWARGS)

像这样,只有在您实际运行setup.py

时才会执行设置

答案 1 :(得分:0)

有一种方法可以从您的设置脚本中获取该版本:

python setup.py --version

但我不确定我理解“在运行时记录版本”是什么意思;安装脚本通常不随您的模块一起安装,因此人们使用其他方式在其代码中添加版本号,例如模块中的__version__属性或__init__.py文件。