【问题标题】:Get the version from distutils setup.py从 distutils setup.py 获取版本
【发布时间】:2011-09-02 13:29:36
【问题描述】:

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

【问题讨论】:

    标签: python distutils


    【解决方案1】:

    有一种方法可以从您的安装脚本中获取版本:

    python setup.py --version
    

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

    【讨论】:

      【解决方案2】:

      在你的例子中,设置是自动执行的,你必须替换:

      distutils.core.setup(**KWARGS)
      

      与:

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

      像这样,只有在你实际运行 setup.py 时才会执行 setup

      【讨论】:

        猜你喜欢
        • 2016-02-29
        • 1970-01-01
        • 2012-10-10
        • 2012-11-03
        • 2011-03-14
        • 2022-12-20
        • 2021-10-20
        • 2011-01-04
        • 2012-12-23
        相关资源
        最近更新 更多