2012-02-03 89 views
2

每次运行我的Python应用程序时,它都会创建一个日志。我想在该日志中包含已执行代码的修订版本号。我怎样才能做到这一点?访问当前修订版本号

我使用Python 3.2,Windows TortoiseHg 2.2.2和Mercurial 2.0.2。

回答

2

如果您使用setuptools来分发您的应用程序/软件包,则可以在运行时使用pkg_resources.get_distribution("my_package").version访问已安装的软件包版本。然而setuptools的不支持自动版本善变修订标记,所以你将不得不与像命令来建立你的发行版:

python3 setup.py egg_info -b -$(hg heads --template "{node|short}" `hg branch`) sdist 

python3 setup.py egg_info -b -$(hg heads --template "{node|short}" `hg branch`) setup 
+0

其实,我不分发应用程序;我只在自己的机器上运行它(直接从命令行调用'main.py' ...) – max 2012-02-03 09:19:37

+0

如果你有独立的开发/部署路径(这是一个非常推荐的方法),你仍然可以使用setuptools进行部署。否则,唯一的选择是创建一个自动生成的文件,该文件保存当前版本并将其生成的代码挂接到提交后脚本。 – abbot 2012-02-03 10:32:39

+0

这是否应该进入'changegroup'或'commit'挂钩?什么操作可以让我创建一个名为(或包含其中)修订号的文件? – max 2012-02-17 03:05:17

相关问题