在分发时替换python脚本中的符号

时间:2011-01-16 13:58:07

标签: python distutils

我有一个python脚本,在使用命令行参数(如--help或--version)调用时输出程序名称,版本号和作者。目前,此信息在python脚本本身中是硬编码的。但是我使用distutils来构建/打包应用程序,因此所有这些信息都已经存在于setup.py中。是否有可能让distutils将类似于版本和作者姓名/电子邮件的元数据写入构建的python脚本中,因此我只需要在setup.py文件中维护这些数据?还是有其他标准机制来处理这样的东西?

3 个答案:

答案 0 :(得分:3)

反过来做。将脚本中需要的版本号,作者姓名和其他元数据添加到脚本本身。然后importexecfile() setup.py中的脚本,并使用脚本中定义的元数据作为setup()函数的参数。

答案 1 :(得分:2)

在程序包的根目录中有一个文件__version__.py,使用setup.py在build上创建它,并从中获取--help或--version的版本信息。这就是Mercurial滚动的方式。

答案 2 :(得分:0)

你总是可以使用sed。 sed的手册页是Here

为Windows做到这一点(如果你使用的是Windows)它是正确的Here。它通常预先安装在Linux,Unix和OS X上。